
Название говорит само за себя ;-)
Я хотел бы иметь возможность сделать что-то вроде
\SI[certain-number]{18}{\winner}
или что-то вроде того
и получите взамен «18-го победителя»
Редактировать: добавлены сценарии использования
Думаю, мне следует объяснить, зачем это нужно, поэтому я добавил этот раздел в свой вопрос.
Если кто-то хочет объяснить размещение или события во времени (я полагаю, это другой вид размещения), то неплохо бы указать порядковый номер вместе с единицей измерения. Вот несколько примеров:
Первое из ответа Мико:
«Они с волнением наблюдали, как учитель увеличил ток, и после того, как на шкале была достигнута отметка 22 А, цепь начала дымиться».
Или:
«В забеге на 22 км после рубежа 15-го км многие бегуны сдались»
Я не знаю наверняка, работают ли эти примеры на английском языке, но на моем родном языке они работают, поэтому мне показалось странным, что siunitx их не поддерживает.
спасибо за ответы.
решение1
(Комментарий заранее: должен признаться, что понятия не имею, что означают «18th A» или «220th V» — где «A» и «V» обозначают, естественно, ампер и вольт.)
Вы можете достичь своей цели, (а) загрузив оба fmtcount
пакета siunitx
и (б) определив специальный макрос следующим образом:
\newcommand{\ordunit}[2]{\ordinalnum{#1}\,\si{#2}}
Затем в тексте напишите \ordunit{18}{\ampere}
или \ordunit{220}{\volt}
.
Полная версия MWE:
\documentclass{article}
\usepackage{fmtcount,siunitx}
\newcommand{\ordunit}[2]{\ordinalnum{#1}\,\si{#2}}
\begin{document}
\ordunit{18}{\ampere}, \ordunit{220}{\volt}, \ordunit{21}{loser}
\end{document}
решение2
Почему бы не сделать это с помощью fmtcount
? Если вам нужен пробел между порядковым номером и следующей за ним «единицей», вы можете определить специальную команду:
\documentclass[english]{article}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{fmtcount}
\newcommand\winner[1]{\ordinalnum{#1}\,winner}
\begin{document}
\ordinalnum{18} winner
\bigskip
\winner{18}
\fmtcountsetoptions{fmtord=level}
\bigskip
\ordinalnum{21} loser
\end{document}