我有一个 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}