Ich hab relativ strenge Vorgaben, nach denen ich das Literaturverzeichnis für meine Dissertation an der Universität Ulm erstellen soll. Merkblatt Und zwar sollen die Einträge, wie das Merkblatt mit einem Beispiel verrät, folgendermaßen aussehen: Müller H, Meier R, Schulze X: Möglichkeiten zur Proliferation von Dissertationen. J Comp Neurol 55: 11-55 (2009) Ich bin mit folgendem Beispiel schon relativ weit gekommen: Open in Online-Editor
\documentclass{article} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[babel, german=quotes]{csquotes} \usepackage[backend=biber,citestyle=numeric,bibstyle=authoryear,firstinits=true,terseinits=true,maxbibnames=99]{biblatex} \renewbibmacro{in:}{} %http://projekte.dante.de/DanteFAQ/BiblatexInBeiArticleUnterdr%fccken \AtEveryBibitem{\clearfield{note}} %http://projekte.dante.de/DanteFAQ/BiblatexFeldUnterdr%fccken \AtEveryBibitem{\clearfield{url}} \AtEveryBibitem{\clearfield{number}} \AtEveryBibitem{\clearfield{abstract}} \AtEveryBibitem{\clearfield{language}} %http://de.comp.text.tex.narkive.com/d5x9LIG5/biblatex-anpassung-eines-bibliography-styles \DeclareFieldFormat{journaltitle}{#1\isdot} %journal titel nicht kursiv \DeclareFieldFormat[misc]{title}{#1\isdot} %titel bei misc nicht kursiv \DeclareFieldFormat[article]{pages}{#1} %Seite weglassen. \DeclareFieldFormat[article]{title}{#1} % keine anführungszeichen um Titel bei allen Artikeln \renewcommand{\labelnamepunct}{\addcolon\space} % Doppelpunkt nach letztem Autor %http://tex.stackexchange.com/questions/17583/biblatex-remove-commas-between-last-and-first-names-in-bibliography \renewcommand*{\revsdnamepunct}{} %Komma zwischen Nachnamen und Vornamen weg % Schlüssel als Zahlen in eckigen Klammern \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}} \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}} \defbibenvironment{bibliography} {\list {\printtext[labelnumberwidth]{% \printfield{prefixnumber}% \printfield{labelnumber}}} {\setlength{\labelwidth}{\labelnumberwidth}% \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% \addtolength{\leftmargin}{\labelsep}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}% \renewcommand*{\makelabel}[1]{\hss##1}} {\endlist} {\item} \DeclareNameAlias{sortname}{last-first} % Doppelpunkt nach journal %http://tex.stackexchange.com/questions/249010/adding-comma-after-journal-name-in-biblatex \renewbibmacro*{journal+issuetitle}{ \usebibmacro{journal}% \setunit*{\addcolon\space}% \iffieldundef{series} {} {\newunit \printfield{series}% \setunit{\addspace}}% \usebibmacro{volume+number+eid}% \setunit{\addspace}% \usebibmacro{issue+date}% \setunit{\addcolon\space}% \usebibmacro{issue}% \newunit} % mit terseinits=true in den Optionen für biblatex -> enfernt die Punkte nach den Initialen %http://tex.stackexchange.com/questions/65438/removing-full-stop-after-first-name-initial-in-biblatex-for-all-authors \renewbibmacro*{name:last-first}[4]{ \ifuseprefix {\usebibmacro{name:delim}{#3#1}% \usebibmacro{name:hook}{#3#1}% \ifblank{#3}{}{% \ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} {\mkbibnameprefix{#3}\isdot}% \ifpunctmark{'}{}{\bibnamedelimc}}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% % \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% NEW {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% % \ifblank{#2#3}{}{\addcomma}% DELETED \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}% \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} \DeclareNameAlias{sortname}{last-first} \RequirePackage{filecontents} \begin{filecontents}{bib.bib} @article{RefWorks:1, author={H. M\"uller and R. Meier and X. Schultze}, year={2013}, title={Möglichkeiten zur Proliferation von Dissertationen}, journal={J Comp Neurol}, volume={55}, pages={11-55}, } @article{RefWorks:2, author={K. Schröder}, year={2015}, title={Nobelpreiswürdig}, journal={Paper of Excellence}, volume={1}, number={9}, pages={89-96}, note={viel zusaeztliche Informationen}, keywords={Deutschland; Europa; Literatur; Wissenschaft}, isbn={1524-4539; 0009-7322}, language={eng}, pmid={12485966} } \end{filecontents} \nocite{*} %nur bibliographie ausgeben \addbibresource{bib.bib} \begin{document} \printbibliography \end{document} Das ergibt: In [1] ist das Beispiel aus dem Merkblatt aufgegriffen. Einträge wie [2] bekomme ich aus meinem Literaturverwaltungsprogramm geliefert und die möchte ich ohne viel händisch zu bearbeiten automatisch in der richtigen Formatierung in mein Literaturverzeichnis bekommen. Wie bekommen ich das Datum/Jahr ganz an das Ende des Eintrags? [Nebenbemerkung: Warum unterdrückt es die Sprache/language nicht und gibt "eng" aus?] gefragt 10 Okt '16, 15:23 tobsen
Ergebnis 5 von 8
show 3 more comments
|
Dass Die Verschiebung der Position des Datums geht dadurch, dass man das Datum aus dem Makro für die Ausgabe von Autor und Datum entfernt und am Ende des Eintrags beispielsweise für Open in Online-Editor
\documentclass{article} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[babel, german=quotes]{csquotes} \usepackage[backend=biber,style=authoryear,citestyle=numeric,firstinits=true,terseinits=true,maxbibnames=99]{biblatex} \renewbibmacro{in:}{} %http://projekte.dante.de/DanteFAQ/BiblatexInBeiArticleUnterdr%fccken \AtEveryBibitem{\clearfield{note}} %http://projekte.dante.de/DanteFAQ/BiblatexFeldUnterdr%fccken \AtEveryBibitem{\clearfield{url}} \AtEveryBibitem{\clearfield{number}} \AtEveryBibitem{\clearfield{abstract}} \AtEveryBibitem{\clearlist{language}}% lanuage ist kein Feld, sondern eine Liste! %http://de.comp.text.tex.narkive.com/d5x9LIG5/biblatex-anpassung-eines-bibliography-styles \DeclareFieldFormat{journaltitle}{#1\isdot} %journal titel nicht kursiv \DeclareFieldFormat[misc]{title}{#1\isdot} %titel bei misc nicht kursiv \DeclareFieldFormat[article]{pages}{#1} %Seite weglassen. \DeclareFieldFormat[article]{title}{#1} % keine anführungszeichen um Titel bei allen Artikeln \renewcommand{\labelnamepunct}{\addcolon\space} % Doppelpunkt nach letztem Autor %http://tex.stackexchange.com/questions/17583/biblatex-remove-commas-between-last-and-first-names-in-bibliography \renewcommand*{\revsdnamepunct}{} %Komma zwischen Nachnamen und Vornamen weg % Schlüssel als Zahlen in eckigen Klammern \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}} \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}} \defbibenvironment{bibliography} {\list {\printtext[labelnumberwidth]{% \printfield{prefixnumber}% \printfield{labelnumber}}} {\setlength{\labelwidth}{\labelnumberwidth}% \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% \addtolength{\leftmargin}{\labelsep}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}% \renewcommand*{\makelabel}[1]{\hss##1}} {\endlist} {\item} \DeclareNameAlias{sortname}{last-first} % Doppelpunkt nach journal %http://tex.stackexchange.com/questions/249010/adding-comma-after-journal-name-in-biblatex \renewbibmacro*{journal+issuetitle}{ \usebibmacro{journal}% \setunit*{\addcolon\space}% \iffieldundef{series} {} {\newunit \printfield{series}% \setunit{\addspace}}% \usebibmacro{volume+number+eid}% \setunit{\addspace}% \usebibmacro{issue+date}% \setunit{\addcolon\space}% \usebibmacro{issue}% \newunit} % mit terseinits=true in den Optionen für biblatex -> enfernt die Punkte nach den Initialen %http://tex.stackexchange.com/questions/65438/removing-full-stop-after-first-name-initial-in-biblatex-for-all-authors \renewbibmacro*{name:last-first}[4]{ \ifuseprefix {\usebibmacro{name:delim}{#3#1}% \usebibmacro{name:hook}{#3#1}% \ifblank{#3}{}{% \ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} {\mkbibnameprefix{#3}\isdot}% \ifpunctmark{'}{}{\bibnamedelimc}}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% % \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% NEW {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% % \ifblank{#2#3}{}{\addcomma}% DELETED \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}% \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} \DeclareNameAlias{sortname}{last-first} % Zuerst das Datum aus dem Autor entfernen: \renewbibmacro*{author}{% \ifboolexpr{ test \ifuseauthor and not test {\ifnameundef{author}} } {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\usebibmacro{bbx:savehash}% \printnames{author}% \iffieldundef{authortype} {\setunit{\printdelim{nameyeardelim}}} {\setunit{\addcomma\space}}}% \iffieldundef{authortype} {} {\usebibmacro{authorstrg}% \setunit{\printdelim{nameyeardelim}}}}% {\global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\printdelim{nonameyeardelim}}}% % \usebibmacro{date+extrayear}% } % Dann das Jahr am Ende wieder einfügen und den Punkt am Ende weglassen: \usepackage{xpatch} \xpatchbibdriver{article}{\usebibmacro{finentry}}{\usebibmacro{date+extrayear}}{}{} \RequirePackage{filecontents} \begin{filecontents}{bib.bib} @article{RefWorks:1, author={H. M\"uller and R. Meier and X. Schultze}, year={2013}, title={Möglichkeiten zur Proliferation von Dissertationen}, journal={J Comp Neurol}, volume={55}, pages={11-55}, } @article{RefWorks:2, author={K. Schröder}, year={2015}, title={Nobelpreiswürdig}, journal={Paper of Excellence}, volume={1}, number={9}, pages={89-96}, note={viel zusaeztliche Informationen}, keywords={Deutschland; Europa; Literatur; Wissenschaft}, isbn={1524-4539; 0009-7322}, language={en}, pmid={12485966} } \end{filecontents} \nocite{*} %nur bibliographie ausgeben \addbibresource{bib.bib} \begin{document} \printbibliography \end{document} Das Ergebnis ist dann: beantwortet 11 Okt '16, 15:51 saputello |
Willkommen auf TeXwelt!
Könntest Du bitte ein Minimalbeispiel einfügen, das zeigt, wie weit Du bisher gekommen bist? Editiere dazu bitte Deinen Beitrag.
"Hallo", "Danke" und "Gruß" solltest Du nach den Tipps zum Verfassen (rechts oben neben dem Eingabefeld für neue Beiträge) übrigens besser weg lassen.
authoryear ist aber kein gutes Zitierformat bei so einem Eintrag. Wie soll jemand zu "Siehe Müller (2009)" den zugehörigen Eintrag finden, wenn das Jahr am Ende steht?
deutsche Anpassung hab ich bereits mit usepackage[ngerman]{babel} usepackage[babel, german=quotes]{csquotes} gelöst.
Nebenbemerkung: Allgemein ist es günstiger, größere Probleme in einzelne Fragen aufzuteilen. Also nicht: »Wie kann ich die folgenden 100 Anfoderungen erfüllen?« sondern »Wie kann ich … erreichen?« + »Wie kann ich … erreichen?« Ob das im konkreten Fall auch besser wäre, wird sich (an den Antworten) zeigen.
auch das Komma zwischen Nachname und Vorname ist schon weg.
Füge mal noch
\usepackage[utf8]{inputenc}
ein. Dann sollten auch die Umlaute funktionieren (übrigens auch in der Literaturdatenbank, ggf. kann man also die Codierung für den Export aus der Literaturverwaltung entsprechend einstellen).So jetzt konnte ich das Problem wirklich fast auf eine Frage reduzieren.
Ich finde es super, wie weit Du in so kurzer Zeit gekommen bist!
@stefan: Wenn es möglich wäre, würde ich tobsen gerne 100 Punkte abgeben!