更新命令引用

更新命令引用

\cite{Key}如果我在连续文本中写命令,我的引用就不是上标。如果我写\textsuperscript{\cite{Key}}命令,我的引用就不会是上标。如果我写的话,它看起来确实正是我喜欢的样子。

我的问题是,是否有可能重新命令该\cite命令,因为我不想手动在文档的任何地方更改它。我的想法是这样的:

\renwecommand{\cite}{\textsuperscript{\cite{#}}}

但是不起作用,可能是因为我不知道如何使用 renwecommand。我正在使用 scrreprt。

我希望有人能帮助我。迈克尔

答案1

您的尝试存在几个问题:

  • 应该是\renewcommand或者\renewcommand*而不是\renwecommand

  • 您需要使用以下方式指定参数的数量[1]。然后,您可以使用数字引用参数,IE #1代替#

  • 由于你覆盖了\cite,你需要让 LaTeX 知道你想要引用\cite引用您的重新定义。您可以通过定义一个\oldcite存储 的原始定义的新命令来实现这一点\cite

以下代码应该可以工作:

\let\oldcite\cite
\renewcommand*\cite[1]{\textsuperscript{\oldcite{#1}}}

答案2

考虑使用带有“super”选项的 natbib 包,例如,

 \usepackage[super,comma,sort&compress]{natbib}

您需要花几分钟来学习 natbib 包,但它在定义您的引用样式方面将提供很大的灵活性。

\documentclass{article}
%\usepackage[square,comma,sort&compress,numbers]{natbib}% style [1,4-6]
\usepackage[super,comma,sort&compress,numbers]{natbib}  % style  ^{1,4-6}

\begin{document}

Citation \cite{<cite1>,..,<citeN>}.

Citation with citep \citep{<cite1>}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{unsrtnat}
\bibliography{<your bibliography bib file>}

\end{document}

注意(可选):如果您希望在引用中明确使用“数字”而不是“非名称”,请使用 \citep{} 而不是 \cite{}。

相关内容