大写表示对 itemize 的引用

大写表示对 itemize 的引用

我想用大写形式写出 \ref 的值。

\documentclass{article}

\usepackage[inline]{enumitem}
\usepackage{textcase}

\begin{document}

\begin{enumerate}[label=\alph*]
     \item \label{i:1} hola
     \item ujeuj
\end{enumerate}

The value for option hola in capitals is \MakeTextUppercase{\ref{i:1}}
\end{document}

在这种情况下,答案是

The value for option hola in capitals is a 

我希望

The value for option hola in capitals is A

我也尝试过 \MakeUppercase,但没用。有什么帮助吗?我不想更改整个文档的引用字体,只是为了这个案例。当然,我不想使用\Alphat选项enumerate,因为我希望枚举为小写,另一个为大写。

答案1

参考文献应使读者能够找到参考文献。如果项目标有 ,a则参考文献应为a,而不是b1A

这就是说,您可以先尝试扩展 \ref。在您的示例中,它可以工作,但是如果您加载 hyperref,您将获得未定义的引用。

 \expandafter\MakeTextUppercase\expandafter{\ref{i:1}}

更好的方法是使用小型大写字体:

\textsc{\ref{i:1}}

我认为最好的方法是创建第二个标签:

\documentclass{article}

\usepackage[inline]{enumitem}
\usepackage{textcase}

\begin{document}

\begin{enumerate}[label=\alph*]
     \item \label{i:1}\makeatletter\def\@currentlabel{\Alph{enumi}}\label{uppercasei:1}\makeatother hola
     \item ujeuj
\end{enumerate}

The value for option hola in capitals is \ref{uppercasei:1}
\end{document}

答案2

您只需添加 ref=\Alph*选项:

\documentclass{article}

\usepackage[inline]{enumitem}
\usepackage{textcase}

\begin{document}

\begin{enumerate}[label=\alph*, ref = \Alph*]
     \item \label{i:1} hola
     \item ujeuj
\end{enumerate}

The value for option hola in capitals is {\ref{i:1}. 

\end{document} 

在此处输入图片描述

相关内容