带下标的罗马数字

带下标的罗马数字

我尝试输入带有下标的罗马数字,但这样做$II_1$不起作用,因为 II 最终被隔开了。

有没有办法添加下标,同时又让罗马数字显得优雅?谢谢!

答案1

简单的例子是,如注释中所述,$\textrm{II}_1$。如果你需要多次使用它,宏可能会有用:

\documentclass{article}

\begin{document}

\newcounter{myRom}
\newcounter{myarab}
\def\Rns#1#2{\setcounter{myRom}{#1}
\setcounter{myarab}{#2}\Roman{myRom}$_{\arabic{myarab}}$}

\Rns{3}{3}

\Rns{2016}{13}

\end{document}

在此处输入图片描述

答案2

间距是由于字母被视为因素在一个乘法。由于I在您的例子中含义不同,因此需要进行不同的设置。

下面是几个将整数转换为罗马数字(\toroman\toRoman)或将其设置为\text(使用amsmath)因此它在文本或数学模式下有效:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\newcommand{\toroman}[1]{\text{\romannumeral #1}}
\newcommand{\toRoman}[1]{\MakeUppercase{\toroman{#1}}}
\newcommand{\setRoman}{\text}

\begin{document}

Either \toroman{2016} or \toRoman{2016} and also $\toroman{2016}_1$ and $\toRoman{2016}_1$.
Finally, $\setRoman{II}_2$ is different from $\setRoman{mmxi}_3$.

\end{document}

如果需要,也可以将罗马数字转换为整数,使用etoolbox。此外,如果你想改变罗马数字的表示,请考虑阅读带上划线和下划线的罗马数字

相关内容