我正在通过 libertine-legacy 包和 pdftex 使用 Linux Libertine 字体。此字体包含罗马数字的漂亮连字,例如,\LibertineGlyph{tworoman}
给出 ii。现在我想在计数器出现的地方使用这些字形,例如,前言中的页码和part
编号。最后,我希望有一个类似于 的字形\roman
,比如\ligroman
,我可以将其输入到\pagenumberstyle
等。
答案1
从Ⅰ到Ⅻ
浪荡子和\libertineGlyph
在我的例子中我使用 XeLaTeX 和libertineotf
它提供了\libertineGlyph
和字形。正如我在评论中所说,这应该与...合作libertine-legacy
, 也。新的libertine-type1
不再biolinum-type1
支持这个。
这提供了两个宏:
\libertineRoman{<countername>}
大写字母,以及\libertineroman{<countername>}
表示小写罗马数字。
此方法仅将 1 到 12 之间的数字转换为特殊的罗马数字字形。
代码
\documentclass{article}
\usepackage{libertineotf}% replace with libertine-legacy
%\usepackage[T1]{fontenc}% use with pdfLaTeX
\newcommand*{\libertineRoman}[1]{%
\def\Romantemp{}%
\ifnum\value{#1}>0\relax%
\ifnum\value{#1}<13\relax%
\edef\Romantemp{\ifcase\value{#1}\or One\or Two\or Three\or Four\or Five\or Six\or Seven\or Eight\or Nine\or Ten\or Eleven\or Twelve\fi}%
\libertineGlyph{\Romantemp roman}%
\else\Roman{#1}\fi%
\else\Roman{#1}\fi%
}
\newcommand*{\libertineroman}[1]{%
\def\Romantemp{}%
\ifnum\value{#1}>0\relax%
\ifnum\value{#1}<13\relax%
\edef\Romantemp{\ifcase\value{#1}\or one\or two\or three\or four\or five\or six\or seven\or eight\or nine\or ten\or eleven\or twelve\fi}%
\libertineGlyph{\Romantemp roman}%
\else\roman{#1}\fi%
\else\roman{#1}\fi%
}
\begin{document}
\newcounter{testRoman}
\setcounter{testRoman}{13}
\loop\ifnum\value{testRoman}>1\relax\addtocounter{testRoman}{-1}
\thetestRoman: \roman{testRoman} \Roman{testRoman} \libertineroman{testRoman} \libertineRoman{testRoman} \par
\repeat
\end{document}
输出
Unicode(仅限 Xe-/LuaLaTeX)
使用 Unicode 整个罗马数字范围的解决方案是已经可用。