Probleme beim Literaturverzeichnis (bibtex)

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Alexermselber

Probleme beim Literaturverzeichnis (bibtex)

Beitrag von Alexermselber »

Hallo zusammen!
Ich bin aktuell kurz vor der Fertigstellung meiner Masterarbeit und habe ein Problem mit dem Literaturverzeichnis. Ich nutze TeXstudio.

Ich muss die Zitate im Fließtext (zum Beispiel [Nov04]) und die Anordnung im Literaturverzeichnis im Sinne des Zitier-Stils "alphabetic" umsetzen. Die einzelnen Referenzen sollen hingegen im Literaturverzeichnis im Sinne des Zitier-Stils "nature" folgendermaßen dargestellt sein:

Autor1, Autor2, Titel, Journal Volume, pages (year).

Ich nutze aktuell den Zitier-Stil "alphabetic" und habe diesen soweit umdefiniert, dass es jetzt nur noch an der Position der Jahreszahl scheitert. Dazu ein Minimalbeispiel:
 
\documentclass[11pt, captions=topbeside]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[backend=bibtex, style=alphabetic, firstinits=true, maxnames=99]{biblatex}

\ExecuteBibliographyOptions{maxbibnames=99, maxcitenames=1}
\renewcommand*{\labelalphaothers}{}
\bibliography{test-bib}
\DeclareFieldFormat[article]{title}{\textit{#1}}
\DeclareFieldFormat*{volume}{\textbf{#1}}
\DeclareFieldFormat*{pages}{#1}
\DeclareFieldFormat{journaltitle}{#1}


\renewcommand*{\newunitpunct}{\addcomma\space}


\renewbibmacro{in:}{%
 \ifentrytype{article}{}{%
  \printtext{\bibstring{in}\intitlepunct}}}

\DefineBibliographyStrings{ngerman}{
 bibliography={Literaturverzeichnis}
}

\begin{document}
 Test \cite{nov04}
 
 \printbibliography[maxnames=99]
\end{document} 

Bibliothek:
@article {nov04,
	author = {Novoselov, K. S. and Geim, A. K. and Morozov, S. V. and Jiang, D. and Zhang, Y. and Dubonos, S. V. and Grigorieva, I. V. and Firsov, A. A.},
	title = {Electric Field Effect in Atomically Thin Carbon Films},
	volume = {306},
	pages = {666--669},
	year = {2004},
	publisher = {American Association for the Advancement of Science},
	journal = {Science}
} 

Hat jemand eine Idee, wie man die Jahreszahl ganz nach hinten schieben kann, um so die gewünschte Form zu erreichen? Danke schon mal im Voraus!

Gast

Beitrag von Gast »

Wenn Du wirklich in der Bibliography exakt den Nature-Stil brauchst und Zitate in alphabetic, könnte
\documentclass[11pt, captions=topbeside]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[backend=bibtex, citestyle=alphabetic, bibstyle=nature, firstinits=true, maxbibnames=99, maxcitenames=1]{biblatex}

\renewcommand*{\labelalphaothers}{}
\DeclareFieldFormat[article]{title}{\textit{#1}}% entspricht NICHT Nature-Stil
\DeclareFieldFormat{journaltitle}{#1}% entspricht NICHT Nature-Stil

\renewcommand*{\newunitpunct}{\addcomma\space}% entspricht NICHT Nature-Stil

\DefineBibliographyStrings{german}{
 bibliography={Literaturverzeichnis}
}

\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelalphawidth]{%
        \printfield{labelprefix}%
        \printfield{labelalpha}%
        \printfield{extraalpha}}}
     {\setlength{\labelwidth}{\labelalphawidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}

%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article {nov04,
   author = {Novoselov, K. S. and Geim, A. K. and Morozov, S. V. and Jiang, D. and Zhang, Y. and Dubonos, S. V. and Grigorieva, I. V. and Firsov, A. A.},
   title = {Electric Field Effect in Atomically Thin Carbon Films},
   volume = {306},
   pages = {666--669},
   year = {2004},
   publisher = {American Association for the Advancement of Science},
   journal = {Science}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
 Test \cite{nov04}
 
 \printbibliography
\end{document}
etwas für Dich sein.

\printbibliography[maxnames=99] sollte nur noch in total veralteten Versionen von biblatex funktionieren, daher habe das [maxnames=99] entfernt, es war eh durch andere Optionen abgedeckt.

Wenn möglich solltest Du statt BibTeX Biber verwenden. Also backend=biber und http://www.texwelt.de/wissen/fragen/190 ... nem-editor

Gast

Beitrag von Gast »

Klasse! Danke für deine schnelle Antwort. Hat genauso funktioniert wie ich es wollte. Die Wahl von bibtex statt biber fiel eher zufällig. Wenn ich stattdessen biber nehme, funktioniert dein Code nicht mehr

Gast

Beitrag von Gast »

Der Code funktioniert natürlich auch mit Biber
\documentclass[11pt, captions=topbeside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, citestyle=alphabetic, bibstyle=nature, giveninits=true, maxbibnames=99, maxcitenames=1]{biblatex}

\renewcommand*{\labelalphaothers}{}
\DeclareFieldFormat[article]{title}{\textit{#1}}% entspricht NICHT Nature-Stil
\DeclareFieldFormat{journaltitle}{#1}% entspricht NICHT Nature-Stil

\renewcommand*{\newunitpunct}{\addcomma\space}% entspricht NICHT Nature-Stil

\DefineBibliographyStrings{german}{
 bibliography={Literaturverzeichnis}
}

\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelalphawidth]{%
        \printfield{labelprefix}%
        \printfield{labelalpha}%
        \printfield{extraalpha}}}
     {\setlength{\labelwidth}{\labelalphawidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}

%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article {nov04,
   author = {Novoselov, K. S. and Geim, A. K. and Morozov, S. V. and Jiang, D. and Zhang, Y. and Dubonos, S. V. and Grigorieva, I. V. and Firsov, A. A.},
   title = {Electric Field Effect in Atomically Thin Carbon Films},
   volume = {306},
   pages = {666--669},
   year = {2004},
   publisher = {American Association for the Advancement of Science},
   journal = {Science}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
 Test \cite{nov04}
 
 \printbibliography
\end{document}
Du musst dann allerdings auch Biber zum Kompilieren nutzen und nicht BibTeX. Siehe den letzten Link in meiner Antwort.

Antworten