我正在使用 biblatex 和 biber,有时我会为特殊引用创建自己的命令,如下所示:
\newcommand{\met}[3]{(\emph{Met.} #1\textsuperscript{#2}#3)\nocite{metaphysics}\mancite}
\met{987}{b}{5}
事实上,我也使用了 backref 选项,因此常规引用在参考书目中有反向引用,例如“(参见第 5-7 页)”。
然而,对于我自己的自定义引用,不会发生同样的事情,因为它\nocite
会将条目添加到参考书目中,但并不关心它是从哪里调用的。
那么,是否有不同的方式来定义我的\met
命令和其他类似的命令来解决这个问题并有指向它们的反向引用?
我实际上正在尝试编写自己的 biblatex 风格,所以我想我可以声明一个不打印任何内容的 cite 命令并使用它……但这听起来不是一个非常优雅的解决方案,所以我希望有更好的方法来实现我想要的。
编辑:这是 MWE:
\documentclass{article}
\usepackage[backend=biber, backref]{biblatex}
\addbibresource{bib.bib}
\newcommand{\met}[3]{(\emph{Met.} #1\textsuperscript{#2}#3)\nocite{metaphysics}\mancite}
\begin{document}
`Twas brillig, and the slithy toves did gyre and gimble in the wabe; all mimsy were the borogoves, and the mome raths outgrabe. \met{987}{b}{5} %\cite{metaphysics}
\printbibliography
\end{document}
bib.bib
包括:
@incollection{metaphysics,
Address = {New Jersey},
Author = {Aristotle},
Booktitle = {The Complete Works of {Aristotle}},
Editor = {Jonathan Barnes},
Publisher = {Princeton University Press},
Title = {Metaphysics},
Volume = {2},
Year = {1995}}
取消注释\cite{metaphysics}
会在参考文献中添加“(引自第 1 页)”。我希望我的\met
命令也能实现这一点。
编辑2:
我之所以使用,@incollection
是因为我之前使用 bibtex 和疯狂的巴西风格文件,这是我唯一的选择。现在我正尝试一点一点地转向 biblatex。
无论如何,shorttitle
对于这种特定情况,使用似乎很棒,我甚至不知道它存在。但是我必须为许多特定情况声明许多新的引用命令。而且有些引用可能实际上与参考书目条目无关。例如,要引用前苏格拉底哲学家,我会使用 Diels-Kranz 编号。因此,我可以为巴门尼德建立一个参考书目条目,为赫拉克利特建立一个参考书目条目,它们都会被引用为“(28B1 DK)”之类的内容。
因此,我认为最好有类似的东西,\nocite
除了它可以与反向引用一起工作,不是吗?
我的第一个想法是声明一个 cite 命令\hiddencite
,并让它什么都不打印(或者可能只是prenote
and postnote
)。我只是想知道是否没有更好的选择,因为我刚开始使用 biblatex,对它不太了解。
答案1
.bib
请注意,我认为该条目被错误分类了。亚里士多德的形而上学不是对选集的贡献。相反,它本身就是一本书。在这里,它只是被收录在他的更大作品集中。因此,@bookinbook
我觉得这种分类比……更合适@incollection
。
这会改变参考书目条目的格式,但这似乎是正确的:标题不应该用引号引起来,而应该用斜体,就像您的速记标签中所暗示的那样,見面。
shorttitle
这意味着我们可以使用类似于条目字段的东西.bib
来进行简写。(或者,您也可以查看字段shorthand
。)
我可能会考虑为自定义引用命令采用不同的语法,但如果您已经在问题中使用了该语法,那么实现起来会很麻烦。
在这种情况下,类似这样的方法可能会有效:
\begin{filecontents}{\jobname.bib}
@bookinbook{metaphysics,
Address = {New Jersey},
Author = {Aristotle},
maintitle = {The Complete Works of {Aristotle}},
Editor = {Jonathan Barnes},
Publisher = {Princeton University Press},
Title = {Metaphysics},
Volume = {2},
Year = {1995},
shorttitle = {Met.}}
\end{filecontents}
\documentclass{article}
\usepackage[backend=biber, backref]{biblatex}
\addbibresource{\jobname.bib}
\DeclareCiteCommand{\aristcite}[\mkbibparens]{\usebibmacro{prenote}}{\printfield[citetitle]{labeltitle}}{\multicitedelim}{\usebibmacro{postnote}}
\newcommand*\met[3]{\aristcite[][#1\textsuperscript{#2}#3]{metaphysics}}
\begin{document}
`Twas brillig, and the slithy toves did gyre and gimble in the wabe; all mimsy were the borogoves, and the mome raths outgrabe. \met{987}{b}{5}
\printbibliography
\end{document}
顺便问一下,你有这句话的希腊文原文吗?;)