
タイトルがすべてを物語っています ;-)
私はこんなことができるようになりたい
\SI[certain-number]{18}{\winner}
またはそのようなもの
代わりに「18番目の勝者」を獲得する
編集: ユースケースのシナリオを追加しました
なぜこれをやりたいのかを説明する必要があると思うので、このセクションを質問に追加しました。
時間内の配置またはイベント(おそらく別の種類の配置)を説明したい場合は、順序付けられた番号と単位を一緒に使用すると便利です。次に例をいくつか示します。
まずはMicoさんの回答から:
「先生が電流を上げ、ダイヤルの22番目のAマークを過ぎた後、回路から煙が出始めたとき、彼らは興奮して見ていました。」
または:
「15キロ地点以降の22キロのレースでは、多くのランナーがリタイアした」
これらの例が英語で機能するかどうかはわかりませんが、私の母国語では機能するので、siunitx がこれをサポートしていないのは奇妙だと思いました。
回答ありがとうございます。
答え1
(最初にコメントしておきますが、私は「18 番目の A」や「220 番目の V」が何を意味するのか全く分かりません。「A」と「V」は当然ながらアンペアとボルトを表します。)
fmtcount
次のように、(a) と (b) の両方の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}