zusätzliches Feld aus der bib Datei im Textfluss zitieren

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


Florianxy
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 27. Sep 2016, 14:02

zusätzliches Feld aus der bib Datei im Textfluss zitieren

Beitrag von Florianxy »

Bisher reichte es meiner Hochschule bei den Zitaten im Textfluss, Verfassername, Jahr und Seitenzahl anzugeben. Ab diesem Semester wird zusätzlich noch ein "Stichwort" benötigt.

Meine Idee war das Stichwort in der .bib Datei in das "NOTE" Feld zu schreiben. Leider kann man dieses im Text nicht zitieren wie beispielsweise \Citeauthor{}.

Hat jemand einen Lösungsvorschlag?
\begin{filecontents*}{bediaBibliographie.bib}
 
@ARTICLE{Beispiel2010,
  author = {Max Muster},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel},
  
  NOTE = {Wissentschaftliches Arbeiten},
  
  Stichwort={Wissentschaftliches Arbeiten}
    
} 
\end{filecontents*}
 
 
\documentclass{scrartcl}  
\usepackage{biblatex}
\addbibresource{bediaBibliographie.bib} 
\usepackage{graphicx}
 
\begin{document}
 
aktuelle Ausgabe:\\
(\Citeauthor{Beispiel2010}, \citeyear{Beispiel2010}, S. 1)\\

ben\"otigte Ausgabe:\\
(\Citeauthor{Beispiel2010}, Hier sollte Note oder Stichwortzitiert werden, \citeyear{Beispiel2010}, S. 1)

\printbibliography 
 
\end{document}

Gast

Beitrag von Gast »

Du suchst vermutlich \citefield. Siehe dazu Abschnitt "Low Level Commands" in der [d]biblatex[/d]-Anleitung.

Gast

Beitrag von Gast »

\begin{filecontents*}{bediaBibliographie.bib}
@ARTICLE{Beispiel2010,
  author = {Max Muster},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}, 
  NOTE = {Wissentschaftliches Arbeiten},
  Stichwort={Wissentschaftliches Arbeiten}
} 
\end{filecontents*}
 
\documentclass{scrartcl}  
\usepackage{biblatex}
\addbibresource{bediaBibliographie.bib} 
 
\begin{document}
 
aktuelle Ausgabe:
(\Citeauthor{Beispiel2010}, \citeyear{Beispiel2010}, S. 1)

ben\"otigte Ausgabe:
(\Citeauthor{Beispiel2010}, \citefield{Beispiel2010}{note}, \citeyear{Beispiel2010}, S. 1)

\printbibliography 
 
\end{document}
Du solltest übrigens nie \\ als Absatz missbrauchen, das macht nämlich keinen Absatz und kann zu allerlei Problemen führen.

Gast

Beitrag von Gast »

Das erscheint mir ja eine reichlich debile Vorgabe zu sein, aber wenn man da nichts machen kann...

Wenn alle Zitate so aussehen sollen, dann ist es sinnvoll, das gleich fest in den Zitatbefehl einzubauen. Ich würde Dir also etwas wie
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nameyeardelim}}}%
     \printfield{note}
     \setunit{\addcomma\space}%
     \usebibmacro{cite:labelyear+extrayear}}
    {\usebibmacro{cite:shorthand}}}
vorschlagen.

Dann kannst Du einfach \cite[12]{sigfridsson} schreiben und musst nicht drei Befehle hintereinander tippen.

Beispiel
\begin{filecontents*}{\jobname.bib}
@ARTICLE{Beispiel2010,
  author = {Max Muster},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel},
  NOTE = {Wissentschaftliches Arbeiten},
  Stichwort={Wissentschaftliches Arbeiten}
}
\end{filecontents*}
 
\documentclass{scrartcl}  
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
 
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nameyeardelim}}}%
     \printfield{note}
     \setunit{\addcomma\space}%
     \usebibmacro{cite:labelyear+extrayear}}
    {\usebibmacro{cite:shorthand}}}

\begin{document}
 
aktuelle Ausgabe:
\cite[1]{Beispiel2010}

ben\"otigte Ausgabe:
(\Citeauthor{Beispiel2010}, \citefield{Beispiel2010}{note}, \citeyear{Beispiel2010}, S. 1)

\printbibliography
\end{document}
Dieser Code nutzt Befehle, die erst in neueren Versionen von biblatex (Version 3.5/3.6) richtig unterstützt werden. Für ältere Versionen kann eine ähnliche Anpassung vorgenommen werden, ich kann sie nur gerade nicht testen und weiß aus dem Kopf nicht ganz genau, wie es aussehen müsste. (Der Online-Editor zum Beispiel könnte Probleme haben.)

Florianxy
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 27. Sep 2016, 14:02

Beitrag von Florianxy »

Perfekt, es kann so einfach sein. Dankeschön

Antworten