输入文件(带有 \citeauthor 和 \citeyear)中的控制序列未定义?

输入文件(带有 \citeauthor 和 \citeyear)中的控制序列未定义?

我有一个 main.tex 文件,其中包含其他 tex 文件,以便更好地概览我的文件。main.tex 如下所示:

 \documentclass[a4paper,10pt, twoside]{book}
 \usepackage[utf8]{inputenc}
 \usepackage{graphicx}
 \usepackage[english]{babel}

 \date{}
 \graphicspath{{../figures/}}


 \newcommand\Mycite[1]{%
 (\citeauthor{#1},~\citeyear{#1})}

 \begin{document}
 \nocite{*}

 \input{second_latex_file}
 \bibliographystyle{plain} 
 \bibliography{literature}
 \end{document}

在 second_latex_file.tex 中我尝试使用定义的命令 Mycite,但仍然收到错误“未定义的控制序列 Mycite... 文件 second_latex_file.tex 没有前言,它只是以文本开头!所以像:

 \chapter{Second chapter}
 ......some text here
.... \Mycite{something}

我尝试将命令复制到此文件中,但当然,我收到了错误消息“命令已定义”。有人知道在这种情况下我该怎么做吗:S?

答案1

\usepackage{natbib}需要\citeauthor\citeyear工作

\documentclass[a4paper,10pt, twoside]{book}
 \usepackage[utf8]{inputenc}
 \usepackage{graphicx}
 \usepackage[english]{babel}
 \usepackage{natbib}

 \date{}
 \graphicspath{{../figures/}}


 \newcommand{\Mycite}[1]{%
 (\citeauthor{#1},~\citeyear{#1})}

 \begin{document}
 \nocite{*}

 \Mycite{something}
 \end{document}

相关内容