我是 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
命令不接受可选参数。