使用 \defcitealias{} 设置两个不同的别名

使用 \defcitealias{} 设置两个不同的别名

我正在尝试以 natbib 风格引用一些政府报告。

“作者”是“傻傻的走路、跳跃和相关运动部”,简称:MOSWJRM(这也是官方的缩写)。

因此我希望能够像这样在文中引用它们:

根据 MOSWJRM (2016),愚蠢的步行定义如下:“ 或者 ”穿反鞋走路是很愚蠢的(MOSWJRM,2016)

并在参考文献中有这样的条目:

MOSWJRM,傻傻的走路、跳跃和相关运动部:傻傻的走路完整指南,2016 年

我的第一个想法是简单地用一些括号来设置作者author = {MOSWJRM, {Ministry of silly walks, jumping and related movement}},,但是这会被忽略,导致出现“MOSWJRM,M.:完整指南……“ 入口。

似乎将整个作者放在双括号中,然后使用\defcitealias{MOSWJRM:2016}{MOSWJRM, 2016}是我想要的一种方式,但是,这只适用于一种引用方式。我如何让它知道在使用\citetalias{}和时会给出不同的结果\citepalias{}

答案1

我不确定我是否理解了您的问题,但这是您想要的输出吗?

\documentclass{article}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
    @book{MOSWJRM:2016,
        author = "{MOSWJRM, {Ministry of silly walks, jumping and related movement}}",
        year = {1986},
        title = {The \TeX book},
    }
\end{filecontents*}

\usepackage[round]{natbib}
\bibliographystyle{abbrvnat}


\defcitealias{MOSWJRM:2016}{MOSWJRM}

\newcommand{\mycitet}[1]{\citetalias{#1} (\citeyear{#1})}
\newcommand{\mycitep}[1]{\citepalias[\citeyear{#1}]{#1}}


\begin{document}

citep: \citep{MOSWJRM:2016}

citet: \citet{MOSWJRM:2016}

mycitet: \mycitet{MOSWJRM:2016}

mycitep: \mycitep{MOSWJRM:2016}

\nocite{*}

\bibliography{\jobname} % if you’re using BibTeX

\end{document}

在此处输入图片描述

相关内容