como escrever 1º 2º 3º ... em siunitx

como escrever 1º 2º 3º ... em siunitx

O título diz tudo ;-)

Eu gostaria de poder fazer algo como

\SI[certain-number]{18}{\winner}

ou algo assim

e receba o ``18º vencedor'' em troca

Editar: cenários de casos de uso adicionados

Acho que deveria explicar por que alguém iria querer fazer isso, então adicionei esta seção à minha pergunta.

Se alguém quiser explicar posicionamentos ou eventos no tempo (um tipo diferente de posicionamento, eu acho), é bom ter o número ordenado junto com a unidade. aqui estão alguns exemplos:

Primeiro da resposta de Mico:

``Eles assistiram emocionados, enquanto o professor aumentava a corrente e depois de passar a marca 22 A no dial o circuito começou a soltar fumaça.''

Ou:

``Em uma corrida de 22 km após a linha dos 15 km muitos corredores desistiram''

Não sei ao certo se esses exemplos funcionam em inglês, mas funcionam na minha língua nativa, então achei estranho que o siunitx não os suportasse.

obrigado pelas respostas.

Responder1

(Um comentário inicial: devo confessar que não tenho ideia do que "18º A" ou "220º V" - onde "A" e "V" significam ampere e volt, naturalmente - significa.)

Você poderia atingir seu objetivo (a) carregando os pacotes fmtcounte siunitx e (b) definindo uma macro dedicada da seguinte forma:

\newcommand{\ordunit}[2]{\ordinalnum{#1}\,\si{#2}}

Depois, no corpo do texto, escreva \ordunit{18}{\ampere}ou \ordunit{220}{\volt}.

Um MWE completo:

\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}

Responder2

Por que não fazer isso com fmtcount? Se precisar de espaçamento entre o número ordinal e a seguinte 'unidade', você pode definir um comando dedicado:

\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}

insira a descrição da imagem aqui

informação relacionada