用于创建新引文类型的新命令

用于创建新引文类型的新命令

我针对特定类型的引用定义了一个新命令:

\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}}}

在此处输入图片描述

由于大写字母的字距调整有些特殊,小型大写字母可能是更优雅的解决方案。

相关内容