我经常使用命令\citeauthor{ME:paper} \cite{ME:paper}
。此外,当输入\citeauthor{
或时\cite{
,会显示已加载参考文献的列表;然后我可以输入\cite{ME:p
并按回车键自动完成。(这至少在 TeXstudio 中会发生。)我想创建一个新命令
\newcommand{\citeauthnum}[1]{\citeauthor{#1} \cite{#1}}
但这样做并不能给我自动完成选项。(我试过了,Ctrl+Space
但并没有加载它。)
甚至更好的是,我可以添加一个可选参数并写入\cite[#2]{#1}
。
在我看来这个问题是相关的:TexStudio 从哪里获取其引用自动完成列表?。
答案1
如果您使用biblatex
样式numeric
,那么\textcite
应该会为您提供所需的内容\citeauthnum
。\textcite
它的优点是可以与前置和后置注释配合使用,并且能够处理多个引用。一般来说,我强烈建议不要通过将两个或多个命令放在一起来创建新\...cite
命令。\...cite
\newcommand
您natbib
\citet
将找到所要查找的内容。
这两个命令都被 TeXstudio 识别为 cite 命令,并会相应地自动完成。
如果你确实需要教 TeXstudio 一个新\...cite
命令,你需要在文件#c
中的命令末尾添加.cwl
\citeauthnum{citekey}#c
这样,TeXstudio 就会知道使用已知引用键列表自动完成它。
答案2
添加
\citeauthnum{citekey}
到用户.cwl 文件。
如果还没有用户 .cwl 文件,请参阅https://tex.stackexchange.com/a/361283/190086