在 LaTeX 文本中排版罗马数字

在 LaTeX 文本中排版罗马数字

我想在 LaTeX 文本中排版真正的罗马数字(大写和小写)。我已经查看了先前的讨论帖但没有找到令人满意的解决方案。(事实上,该帖子中提到的几种解决方案对我来说都不起作用。我不知道为什么。)

我个人采用的是直接的方法

    \newcounter{counter}       
    \newcommand{\upperRomannumeral}[1]{\setcounter{counter}{#1}\Roman{counter}}
    \newcommand{\lowerromannumeral}[1]{\setcounter{counter}{#1}\roman{counter}}

但这仍然不令人满意。有没有更好的方法来完成这项任务?

答案1

如果我理解正确的话,您似乎想要的是使用罗马数字编号的内联列表。我认为该enumitem软件包可以胜任此类工作。

代码

\documentclass[preview,border=5]{standalone}

\usepackage{enumitem}

\newlist{inlineroman}{enumerate*}{1}
\setlist[inlineroman]{itemjoin*={{, and }},afterlabel=~,label=\roman*.}

\newcommand{\inlinerom}[1]{
\begin{inlineroman}
#1
\end{inlineroman}
}

\newlist{Inlineroman}{enumerate*}{1}
\setlist[Inlineroman]{itemjoin*={{, and }},afterlabel=~,label=\Roman*.}

\newcommand{\InlineRom}[1]{
\begin{Inlineroman}
#1
\end{Inlineroman}
}

\begin{document}
I would like to cite some properties. Here are the properties listed in-line using small Roman numerals: \inlinerom{\item first, \item second \item third.}

Here are other properties listed as capital Roman numerals: \InlineRom{\item First property \item Second property \item Third property.}
\end{document}

输出

在此处输入图片描述

答案2

通常,罗马数字与计数器一起用于枚举列表或作为部门单位的数字,并且\roman\Roman设施就是这样做的。

如果您只想用罗马数字打印一些数字,这里有两个简单的宏:

\newcommand{\upperRomannumeral}[1]{\uppercase\expandafter{\romannumeral#1}}
\newcommand{\lowerromannumeral}[1]{\romannumeral#1\relax}

因此你可以写

The king Louis~\upperRomannumeral{14} was called ``le roi soleil''

但打字Louis~XIV会更清晰,更简短。

答案3

您可以尝试使用biblatex包。它有一个\RN执行大写罗马数字的命令。这样您就不必创建自己的命令。biblatex通常加载来执行参考书目,但它也可以执行罗马数字。

答案4

对我有用的是

\newcommand{\Rom}[1]{\uppercase\expandafter{\romannumeral#1\relax}}

这使我能够将它与章节引用一起使用,例如\Rom{\ref{chap:conclusion}}

相关内容