我正在创建一个新命令,以便引用我正在使用的建筑规范列表。我不想将这些包括在我的标准书目中,因为我正在使用 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}