“参见方程 (n)”的正确输入方式是什么

“参见方程 (n)”的正确输入方式是什么

我正在写一篇带有方程式的文档,并且我习惯用 来引用方程式\eqref{label}

但是,如果我想在带括号的评论中引用它(see Eq. \eqref{label}),它会产生双括号,我想这并不好。

我期望像 \cite 命令这样的东西允许在其中包含额外的单词,\citep[something before][something after]{label}但它不起作用。

我应该使用吗(see Eq. \ref{label})?或者这只是一种黑客攻击和不当的 Latex 打字错误?

答案1

我只是\ref{eq_my_equation}在所有情况下都使用,因为在我写的内容中,方程编号周围的括号不是必需的。您可以做同样的事情,或者只\ref在需要时使用。

请注意(来自对这个相关问题)amsmath还将\eqref方程编号设置为相应的直立字体。我们可以讨论这样做是否正确,但就此答案而言:我从未遇到过这个问题,也从未在斜体中引用过方程。

答案2

虽然我不认为这是理想的解决方案,但您可以重新定义该命令\eqref,因为这意味着它将针对整个文档进行更改。如果您不想要这样,只需定义其他命令即可。

如果你想定义一个新命令,只需写下:

\newcommand\myeqref[1]{
    (see Eq. \textup{\ref{#1}})
}

输出

在此处输入图片描述

代码

\documentclass{article}
\usepackage{amsmath}

\renewcommand{\eqref}[1]{(see Eq. \textup{\ref{#1}})}

\begin{document}
\begin{equation}
 a^2+b^2=c^2\label{eq:1}
\end{equation}

If I refer to the equation, it does it all by itself, here: \eqref{eq:1}
\end{document}

答案3

基于@Alenanno 并且还包括@Steven 命令的可选参数,使用更高级的\NewDocumentCommand包来回答xparse

\LetLtxMacro{\oldeqref}{\eqref}
\RenewDocumentCommand\eqref{D<>{Eq.}om}{%
\IfNoValueTF{#2}
{#1~\oldeqref{#3}}
{(#2 #1~\textup{\ref{#3}})}%
}

将完成工作,即:\eqref保持不变但\eqref[something]{label}返回(Something n),并且还可以使用和更改基本词等式(在我的示例中)\eqref<eqn>{label}\eqref<eqn>[Something]{label}

例子

\eqref{eq:label}; \eqref[Before]{eq:label}; \eqref<eqn>{eq:label}; \eqref<eqn>[Before]{eq:label}

输出

输出新的 eqref

相关内容