如何更改引用罗马数字的新命令的标签?

如何更改引用罗马数字的新命令的标签?

我正在创建一个新命令,以便引用我正在使用的建筑规范列表。我不想将这些包括在我的标准书目中,因为我正在使用 natbib,而且似乎不可能包括两个不同的书目(如果这实际上可能,请说出来;这也可以解决问题,并且可能使它更容易)。

因此,我创建了一个新命令。但是,现在当我使用此命令 (\normref) 时,它会引用常规数字 (1、2、3、...),而我希望它使用我在列表中使用的标签 (即罗马大写字母) 来引用它。请参阅此 MWE:

\documentclass{report}
\usepackage[utf8]{inputenc}

\newcommand{\normref}[1]{%
    {[\ref{#1}]}}

\begin{document}

\chapter{Main text}

\begin{itemize}
    \item NEN-EN 1990 \normref{NEN1990}
    \item NEN-EN 1991-2 \normref{NEN1991_2}
\end{itemize}

\chapter*{Building Codes}

\begin{enumerate}
\renewcommand{\labelenumi}{[\Roman{enumi}]}
    \item \label{NEN1990} NEN-EN 1990+A1+A1/C2:2019: Eurocode: Grondslagen voor het constructief ontwerp
    \item \label{NEN1991_2} NEN-EN 1991-2+C1:2015: Eurocode 1: Belastingen op constructies – Deel 2: Verkeersbelasting op bruggen
\end{enumerate}

\end{document}

我很确定将 \normref 的标签改为罗马字母应该很容易,但是我没有创建新命令的经验,所以希望有人能帮助我解决这个问题。

答案1

您可以使用 biblatex 创建多个参考书目。除此之外:您应该重新定义,\theenumi因为这是用于存储值的命令:

\documentclass{report}
\usepackage[utf8]{inputenc} %no longer needed in a current latex

\newcommand{\normref}[1]{%
    {[\ref{#1}]}}

\begin{document}

\chapter{Main text}

\begin{itemize}
    \item NEN-EN 1990 \normref{NEN1990}
    \item NEN-EN 1991-2 \normref{NEN1991_2}
\end{itemize}

\chapter*{Building Codes}

\begin{enumerate}
\renewcommand{\theenumi}{\Roman{enumi}}\renewcommand\labelenumi{[\theenumi]}
    \item \label{NEN1990} NEN-EN 1990+A1+A1/C2:2019: Eurocode: Grondslagen voor het constructief ontwerp
    \item \label{NEN1991_2} NEN-EN 1991-2+C1:2015: Eurocode 1: Belastingen op constructies – Deel 2: Verkeersbelasting op bruggen
\end{enumerate}

\end{document}

在此处输入图片描述

相关内容