我正在使用\ordinalnum
带有datetime
包装的(与包装相同fmtcount
),但在法语中,使用的上标的高度和大小\ordinalnum
与(例如)的不同\formatdate
,或者使用经典的\up{}
或\ieme
。
我想使用类似于\ordinalnum
个人命令的东西,因为它非常方便,但结果类似于\up{ème}
不同于 1 的序数(法语:1er,2ème,3ème...):良好的高度,良好的上标大小和变音符号ème
。
因此,我想到两种解决方案:
- 命令改变
\ordinalnum
这些标准的功能 (2ème) - 找到另一个方便的序数函数……
感谢您的帮助
% !TEX encoding = UTF-8 Unicode
\documentclass{scrbook}
\usepackage[frenchb]{babel}
\usepackage[quiet]{fontspec}
\usepackage[dayofweek]{datetime} %\usepackage{fmtcount}
\setmainfont[Numbers={OldStyle}]{Adobe Garamond Pro}
\begin{document}
2\up{ème}, \ordinalnum{2}, \formatdate{1}{4}{2014}.
\end{document}
答案1
\ordinalnum
使用\textsuperscript
;您可以轻松将其更改为\up
使用。这也是一个错误,因为对于阳性序数词,应该使用“ème”,对于阴性序数词也是如此。
\documentclass{scrbook}
\usepackage[frenchb]{babel}
\usepackage[quiet]{fontspec}
\usepackage[dayofweek]{datetime}
% use \up instead of \textsuperscript
\renewcommand{\fmtord}[1]{\up{#1}}
\usepackage{etoolbox}
\makeatletter
% fix a glitch in `fmtcount` that has “eme”
% for masculine ordinals, instead of ème
\patchcmd{\@ordinalMfrench}{eme}{ème}{}{}
\makeatother
\setmainfont[Ligatures=TeX,Numbers={OldStyle}]{Linux Libertine O}
\begin{document}
2\up{ème}, \ordinalnum{2}, \formatdate{1}{4}{2014}.
\end{document}
如果按照 Bernard 的建议,您想要缩写上标,只需设置相关选项。
\documentclass{scrbook}
\usepackage[frenchb]{babel}
\usepackage[quiet]{fontspec}
\usepackage[dayofweek]{datetime}
\fmtcountsetoptions{abbrv}
% use \up instead of \textsuperscript
\renewcommand{\fmtord}[1]{\up{#1}}
\usepackage{etoolbox}
\makeatletter
% fix a glitch in `fmtcount` that has “eme”
% for masculine ordinals, instead of ème
\patchcmd{\@ordinalMfrench}{eme}{ème}{}{}
\makeatother
\setmainfont[Ligatures=TeX,Numbers={OldStyle}]{Linux Libertine O}
\begin{document}
2\up{e}, \ordinalnum{2}, \formatdate{1}{4}{2014}.
\end{document}