我针对特定类型的引用定义了一个新命令:
\newcommand{\apud}[4]{\citeauthor{#1} \mkbibparens{\citeyear{#1},\space{#2} apud \cite{#3},\space{#4}}}
产生以下输出:
Carnap (1935, p. 30 apud Hempel, 1983, p. 20)
我还想要一件事:最后一位作者的名字以大写形式出现,以产生:
Carnap (1935, p. 30 apud HEMPEL, 1983, p. 20)
或者有没有更优雅的方法来做到这一点?
梅威瑟:
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{CARNAP1935,
Address = {London},
Author = {Carnap, Rudolf},
Publisher = {Kegan Paul, Trench, Trubner \& Co.},
Title = {Philosophy and Logical Syntax},
Year = {1935}}
@incollection{HEMPEL1983,
Author = {Hempel, Carl Gustav},
Booktitle = {Physics, Philosophy and Psychoanalysis},
Editor = {Cohen, R.S. and Laudan, L.},
Pages = {73-100},
Publisher = {Springer Netherlands},
Series = {Boston Studies in the Philosophy of Science},
Title = {Valuation and Objectivity in Science},
Volume = {76},
Year = {1983},
}
\end{filecontents*}
\documentclass[12pt,a4paper]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[citestyle=authoryear,bibstyle=authortitle,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\newcommand{\apud}[4]{\citeauthor{#1} \mkbibparens{\citeyear{#1},\space{#2} apud \cite{#3},\space{#4}}}
\begin{document}
\apud{CARNAP1935}{p. 30}{HEMPEL1983}{p. 20}
\printbibliography
\end{document}
答案1
您可以使用小型大写字母,而不必转换为大写字母:
\newcommand{\apud}[4]{\citeauthor{#1} \mkbibparens{\citeyear{#1},\space{#2} apud \textsc{\cite{#3}},\space{#4}}}
由于大写字母的字距调整有些特殊,小型大写字母可能是更优雅的解决方案。