
El título lo dice todo ;-)
me gustaria poder hacer algo asi
\SI[certain-number]{18}{\winner}
o algo así
y obtener a cambio el "ganador número 18"
Editar: escenarios de casos de uso agregados
Creo que debería explicar por qué uno querría hacer esto, así que agregué esta sección a mi pregunta.
Si uno desea explicar ubicaciones o eventos en el tiempo (un tipo diferente de ubicación, supongo), es bueno tener el número ordenado junto con la unidad. Aquí hay unos ejemplos:
Primero de la respuesta de Mico:
"Observaron emocionados cómo el maestro aumentaba la corriente y después de pasar la marca 22 A en el dial, el circuito comenzó a echar humo".
O:
``En una carrera de 22 km después del km 15, muchos corredores se dieron por vencidos''
No sé con certeza si estos ejemplos funcionan en inglés, pero sí en mi lengua nativa, así que me pareció extraño que siunitx no los admitiera.
gracias por las respuestas.
Respuesta1
(Un comentario desde el principio: debo confesar que no tengo idea de lo que se supone que significa "18.º A" o "220.º V", donde "A" y "V" representan amperios y voltios, naturalmente).
Podría lograr su objetivo (a) cargando los paquetes fmtcount
y siunitx
y (b) definiendo una macro dedicada de la siguiente manera:
\newcommand{\ordunit}[2]{\ordinalnum{#1}\,\si{#2}}
Luego, en el cuerpo del texto, escribe \ordunit{18}{\ampere}
o \ordunit{220}{\volt}
.
Un 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}
Respuesta2
¿Por qué no hacer esto con fmtcount
? Si necesita espacio entre el número ordinal y la siguiente 'unidad', puede definir un 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}