自定义引用命令。Bibtex 键作为 \newcommand 的参数

自定义引用命令。Bibtex 键作为 \newcommand 的参数

我是 LaTeX 新手,我想定义一个用于引用的辅助命令。我想要实现的是\newcommand或类似的命令,它接受 BibTeX 参数,例如paper并产生与以下相同的输出:

(Image from \cite{paper})

我想这样写:

\imfrom{paper}

我尝试了以下方法:

\newcommand{\imfrom}[1]{(Image from \cite{#1})}

虽然可以,但类型不安全,因此 Kile 的自动完成功能不起作用。有没有什么方法可以轻松实现这一点?

提前致谢!

答案1

保存原始cite命令并重新定义它来执行您想要的操作。

\let\oldcite\cite
\renewcommand{\cite}[1]{(Image from \oldcite{#1})}

如果您想使用旧cite命令,只需调用\oldcite{}

平均能量损失

\documentclass{article}

\let\oldcite\cite
\renewcommand{\cite}[1]{(Image from \oldcite{#1})}
\begin{document}

Using the new command: \verb|\cite{foo}| produces \cite{foo}

Using the old command: \verb|\oldcite[Sec.~1]{foo}| produces \oldcite[Sec.~1]{foo}

\begin{thebibliography}{99}
\bibitem{foo} Foo
\end{thebibliography}
\end{document}

在此处输入图片描述

笔记:现在该cite命令不接受可选参数。

相关内容