我正在尝试开始使用 biblatex-chicago,但不知道如何在脚注样式中将引文作为名词引用(也就是说,我想说“正如 \citeasnoun{lamport} 所说......”)。
[我思考这个问题的简短版本是:“为什么我的脚注没有\smartcite
扩展到?”]\parencite
如果我按照 biblatex-chicago 手册的建议开始
\usepackage[authordate,strict,backend=biber,babel=other]{biblatex-chicago}
那么一切都很好:我可以使用\textcite{foo}
名词和\autocite{foo}
括号。但是,如果我从手册建议的替代方案开始
\usepackage[notes,strict,backend=biber,babel=other]{biblatex-chicago}
那么我就没有\textcite
(这有点令人惊讶,因为 biblatex 手册说'[ \textcite
] 命令由此包附带的所有非详细样式提供',并且我猜测'notes' 样式是一种'非详细'样式)。
没关系,因为我显然可以用 来伪造它\def\textcite#1{\citeauthor{#1}\autocite{#1}}
。这几乎有效:在文本中我得到了“正如 Lamport^1 所说...”,以及带有完整参考的合理脚注。
然而,如果我在脚注中尝试这样做,我会得到“正如 LamportLeslie Lamport 所说……”——也就是说,\autocite
在脚注中似乎表现得像平原\cite
,而我本来期望它更像“正如 Lamport(Leslie Lamport......)所说......”。
我尝试过的事情:
- 我可以指定
autocite=footnote
并autocite=inline
我可以在\usepackage
,但这会在两个上下文(正文和脚注)中改变它。 - 我可以在里面寻找
biblatex.sty
线索,然后破解一些对其上下文敏感的东西,这样就\autocite
可以像\parencite
一个脚注,但 (a) 这种风格……在某些地方相当巧妙,(b) 我代表其他人这样做,所以部分目标是说“看,LaTeX 可以比手动更容易地做到这一点”——“使用源代码,卢克”宁愿破坏这一论点。无论如何 (c) 我认为这应该是自动发生的。 \DeclareAutoCiteCommand
看起来它可以有帮助,但没有我期望的脚注/正文替代方案。\autocite
用替换\smartcite
不会产生任何变化,尽管\smartcite
根据 biblatex 手册,它“在脚注中像 \parencite,在正文中像 \footcite”(\parencite
它本身会在括号中产生引用)。
我已经看过手册很多次了,我相信我遗漏了一些明显的内容,或者我问了一个错误的问题。
- 也许答案是
\parencite
在脚注中明确使用。也许吧,但我的印象是,这就是\autocite
应该处理的事情。 - 也许答案是我不应该这么做。我不是人文学科的,所以也许每个人都知道(除了我)人们不应该在脚注中引用这样的参考资料。
例子:
\documentclass{scrartcl}
\iftrue
\usepackage[notes,strict,backend=biber,babel=other]{biblatex-chicago}
\def\textcite#1{\citeauthor{#1}\smartcite{#1}}
\else
\usepackage[authordate,strict,backend=biber,babel=other]{biblatex-chicago}
\fi
\addbibresource{bib.bib}
\title{Document}
\author{Me}
\begin{document}
\maketitle
The primary aim of this essay is to refer to \textcite{wittgenstein53}
in the text.\footnote{And refer to \textcite{wittgenstein53} in a footnote}
\printbibliography
\end{document}
在第一种情况下我得到了“Wittgenstein^1”,在脚注中得到了“Wittgensteinibid。”。
我正在使用 biblatex 版本 1.7、biber 版本 0.9.9(以及 pdftex 和 xetex 的最新版本)。
答案1
手册中与样式相关的内容biblatex
不一定适用于贡献的样式。一个例子biblatex-chicago
是\smartcite
命令。它不会生成括号引用。
该notes
样式非常详细;第一次引用时,您将获得完整的引用标签。 1.7 版biblatex
引入了\textcite
所有详细样式的和相关命令。要将类似的命令合并到其中,biblatex-chicago
您可以改编来自 的定义verbose.cbx
。
\makeatletter
\DeclareCiteCommand{\textcite}[\cbx@textcite\cbx@textcite@i]
{\boolfalse{citetracker}%
\gdef\cbx@savedkeys{}}
{\printnames{labelname}%
\xappto\cbx@savedkeys{\thefield{entrykey},}}
{\multinamedelim}
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
\DeclareMultiCiteCommand{\textcites}[\cbx@textcite\cbx@textcites@i]
{\textcite}{\multinamedelim}
\newrobustcmd{\cbx@textcite}[2]{\def\cbx@savedcites{#1}#2\cbx@savedcites}
\newrobustcmd{\cbx@textcite@i}{\iffootnote{\addspace\parencite}{\footcite}}
\newrobustcmd{\cbx@textcites@i}{\iffootnote{\addspace\parencites}{\footcites}}
\makeatother
这里引用命令参数被处理了两次。第一次生成类似 的输出\citeauthor
。第二次生成脚注或括号引用。我已经定制了代码来处理脚注内的引用,并与 和\parencite
的\footcite
朋友一起工作notes
。
生成的命令不会为您移动标点符号。要将此功能合并到\textcite
,您可以使用低级定义。