在 LyX 中将所有交叉引用放在括号中

在 LyX 中将所有交叉引用放在括号中

我在一篇长文档中多次出现方程式,LyX 自动用\ref{}而不是交叉引用其方程式\eqref{}。我希望所有引用都放在括号中。

我想到了一些解决方案,我需要帮助来找到一个聪明的解决方案。

  1. 繁琐的解决方案是转到每个方程式并单击它,然后选择格式为 (“<”reference">”)。

  2. 更明智的解决方案是打开 lyx 源并将所有 \ref 替换为 \eqref。我暂时不这么做,因为这很容易但很愚蠢。

  3. 我正在寻找的最聪明的解决方案是像放入序言中的命令\renewcommand{\ref}[1]{(\eqref{#1})}。但这不起作用。

是否需要在序言中添加一些内容,以便将所有\ref{}内容放在括号中?

答案1

如果全部交叉引用(而不仅仅是方程式的引用)应该放在圆括号中,您可以通过在文档的序言中插入以下说明来实现。

\AtBeginDocument{\let\origref\ref
   \renewcommand{\ref}[1]{(\origref{#1})}}}

这是完整的 MWE(但没有截图);

\documentclass{article}
\AtBeginDocument{\let\origref\ref
   \renewcommand{\ref}[1]{(\origref{#1})}}
\begin{document}
\begin{equation}\label{eq:pyth} a^2+b^2=c^2 \end{equation}
\begin{figure}\caption{hello}\label{fig:hello}\end{figure}

Here's a cross-reference to equation \ref{eq:pyth}, and here's a 
cross-reference to figure \ref{fig:hello}.
\end{document}

相关内容