如何将\ref
格式设置为罗马数字?
目前我有代码:
\newcommand{\appendixref}[1]{Appendix~\romannumeral 0\ref{#1}\relax}
这很有效……除非它不起作用。看看下面的图片:
在 LaTeX 中其代码为:
A single state of the board is represented with a \inlinecode{BoardState} (see \textbf{\appendixref{BoardState}}) interface. A state contains all the relevant information about the current state of a board that makes it unique from another state of the board.. For the purpose of my application, I extended this to create an \inlinecode{AbstractBoardState} (see \textbf{\appendixref{AbstractBoardState}}) which contained a lot of the common code between the two types of \inlinecode{BoardState}
我认为它大约有 85% 的时间是有效的。我想要一个始终有效的解决方案,以及为什么它不是始终有效的可能解释。
为了提供更多背景信息,我有一个附录定义为以下环境:
\renewenvironment{appendix}[1][section]{
\newcommand{\oldsection}{#1}
\newcounter{oldsection}
\setcounter{oldsection}{\value{#1}}
\setcounter{#1}{0}
\expandafter\renewcommand\csname the#1\endcsname{\roman{#1}}
}{
\setcounter{\oldsection}{\value{oldsection}}
}
该环境的示例用法如下:
\begin{appendix}[subsection]
\section{Appendix}
\subsection{Tile.java} \label{Tile}
\javascript{tile/Tile}{Tagging interface for tiles}
\end{appendix}
这将生成一个附录部分,其中的附录使用罗马数字。罗马数字完美地显示在标题旁边,也显示在目录中,这正是我使用宏的\appendixref{Title}
地方有时它不起作用。以下屏幕截图显示了如何为包含上述附录的文档生成目录。