
Meine Universität hat gerne interessante Zitierregeln und um diese einzuhalten, bräuchte ich Zitierbefehle, um zu erstellen
<author> (<year>)
. (<author> <year>)
Dazu (<author> <year>.)
habe ich in natbib nachgesehen und gefunden \citet
, \cite
was dem, was ich brauchte, sehr ähnlich war. Mit ein wenig Herumprobieren gelang es mir, sie näher an das heranzubringen, was ich brauchte. Das Problem war der Punkt und das Komma in der Mitte.
Hier ist, was ich derzeit habe.
\documentclass[12pt,twoside,english]{article}
\usepackage[backend=biber,style=authoryear-comp,natbib,citetracker=true,%
maxcitenames=1,uniquename=false,uniquelist=false]{biblatex}
\addbibresource{cite/citedb.bib}
\usepackage{xpatch}
\renewcommand*{\finalnamedelim}{%
\addspace\&\space}
\AtEveryCitekey{\ifciteseen{}{\clearfield{namehash}}}
\xpatchbibmacro{cite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\xpatchbibmacro{textcite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\begin{document}
\citet{foo}
\citet{foo}
\citep{foo}
\cited{foo}
\printbibliography
\end{document}
Was mir das derzeit bringt, ist
Foo, Bar & Baz (xyz)
Foo et al., (xyz)
(Foo et al., xyz)
Wie kann ich also das Komma vor dem Jahr entfernen \citep
und gleichzeitig den erforderlichen Befehl ? \cited
? mit dem Punkt am Ende erstellen, wie hier?
(Foo et al. xyz.)
Antwort1
Sie können das Komma weglassen mit
\renewcommand*{\nameyeardelim}{\addspace}
Tatsächlich ist es der natbib
Kompatibilitätsmodus (siehe blx-natbib.def
), der diese Änderung notwendig macht; standardmäßig wird nur ein Leerzeichen verwendet.
Die Periode in der \cited
Sie mit
\newrobustcmd{\mkbibparensperiod}[1]{\mkbibparens{#1\addperiod}}
\DeclareCiteCommand{\darencite}[\mkbibparensperiod]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}}
\newrobustcmd*{\cited}{\darencite}