
私の大学では興味深い引用規則を定めており、それに従うには、引用コマンドを使用して、およびを作成する必要があります 。<author> (<year>)
これを行うために、natbib を調べ、必要なものに非常に近いものを見つけました。少しいじって、必要なものに近づけることができました。問題は、真ん中のドットとカンマにありました。(<author> <year>)
(<author> <year>.)
\citet
\cite
これが私が現在持っているものです。
\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}
これが現在私に生み出しているのは
フー、バー、バズ (xyz)
Foo et al.、(xyz)
(Foo et al.、xyz)
\citep
では、年の前にあるカンマを削除し、\cited
このように最後にドットを付けた必要なコマンド ? ? を作成するにはどうすればよいでしょうか。
(Foo et al. xyz.)
答え1
カンマを消すには
\renewcommand*{\nameyeardelim}{\addspace}
natbib
実際、この変更が必要なのは互換モード (を参照)でありblx-natbib.def
、デフォルトではスペースのみが使用されます。
\cited
あなたが得ることができる期間
\newrobustcmd{\mkbibparensperiod}[1]{\mkbibparens{#1\addperiod}}
\DeclareCiteCommand{\darencite}[\mkbibparensperiod]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}}
\newrobustcmd*{\cited}{\darencite}