我可以改变 \ref 的输出吗?

我可以改变 \ref 的输出吗?

当我使用\ref交叉引用时\subsubsection,我得到了输出IV-B4(至少使用IEEEtran文档类)。
我可以将输出更改为类似 的内容IV-B.4)吗?

答案1

重新定义这些事情时要小心。默认形式如此很可能是有充分理由的。

您可以通过重新定义宏来更改参考文本\thesubsubsection。但是,这也会影响目录和(在普通类中)本身的数字\sectionIEEEtran类对这些数字的处理方式不同,通常您不需要目录,因此您可以简单地这样做。

例子:

\documentclass{IEEEtran}

\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection})}

\begin{document}
See~\ref{test}

\section{TEST}
\subsection{Test}
\subsubsection{test}\label{test}

\end{document}

得出: See I-A.1)


要仅更改参考文本而不使用任何类更改目录条目或章节编号,您可以重新定义参考前缀宏 \p@subsubsection,该宏通常为空,并\thesubsubsection在创建标签时添加到宏之前。您可以将其定义为保存正确的值,然后吞噬该\thesubsubsection部分(实际上\csname thesubsubsection\endcsname):

\makeatletter
\renewcommand{\p@subsubsection}{\thesubsection.\arabic{subsubsection})\expandafter\@gobble}
\makeatother

请注意,这可能会与更改参考文本的包发生冲突,例如hyperref(尤其是它的\autoref宏)。

相关内容