我在LaTeX中的参考样式有问题。 我使用:
\usepackage[backend=bibtex,style=authoryear]{biblatex} %
但是当我查看参考文献时,文本不在括号内。 例如:
,在 Roy等人中进行了评论。 2010
应该是
,已在( Roy et al。2010 )
中进行了评论
答案 0 :(得分:3)
所有书目工具包均具有根据上下文添加或不添加括号的意思。
实际上,通常不希望将所有引文都放在括号内。
例如,如果您说“ see \cite{foobar}
”,则可能需要“参见(Foobar 1999)”。但是用“ {(\cite{foobar} also has interesting examples)
”这样的短语,您就不需要括号,因为“(((Foobar 1999)....(Foobar 1999)...)”看起来也很丑陋,因此在标准印刷规则中不建议这样做。可能更喜欢“(Foobar 1999也有...)”。
由于这个原因,在普通bibtex中,您有\cite
(无括号)和\citep
(有括号)。
在biblatex中,您可以执行相同操作。代替使用\cite
,而使用\parencite
来获取带有括号的引文。
答案 1 :(得分:0)
另一种在引用周围加上括号的方法是更改\cite
宏的定义:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{knuth,
author = {Knuth, Donald E.},
title = {The {\TeX} book},
date = 1984,
maintitle = {Computers \& Typesetting},
volume = {A},
publisher = {Addison-Wesley},
location = {Reading, Mass.},
langid = {english},
langidopts = {variant=american},
sortyear = {1984-1},
sorttitle = {Computers & Typesetting A},
indexsorttitle= {The TeXbook},
indextitle = {\protect\TeX book, The},
shorttitle = {\TeX book}
}
@article{einstein,
author = {Einstein, A.},
title = {Die Grundlage der allgemeinen Relativitätstheorie},
journal = {Annalen der Physik},
volume = {354},
number = {7},
doi = {10.1002/andp.19163540702},
pages = {769--822},
year = {1916}
}
\end{filecontents*}
\usepackage[backend=bibtex,style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\DeclareCiteCommand{\cite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\cite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{citeyear}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\begin{document}
\cite{einstein}
\printbibliography
\end{document}