我在一篇长文档中多次出现方程式,LyX 自动用\ref{}
而不是交叉引用其方程式\eqref{}
。我希望所有引用都放在括号中。
我想到了一些解决方案,我需要帮助来找到一个聪明的解决方案。
繁琐的解决方案是转到每个方程式并单击它,然后选择格式为 (“<”reference">”)。
更明智的解决方案是打开 lyx 源并将所有 \ref 替换为 \eqref。我暂时不这么做,因为这很容易但很愚蠢。
我正在寻找的最聪明的解决方案是像放入序言中的命令
\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}