2010-04-05 17 views
7

Sto scrivendo in LaTeX, e mi piacerebbe visualizzare una "variabile" (nel mio caso, un riferimento \ ref {blah} ad un numero di articolo in lista) in roman piuttosto che l'arabo predefinito. C'è un modo semplice per farlo? Grazie per qualsiasi suggerimento!latex: stampa una variabile in numeri romani

risposta

1

minuscolo

\romannumeral 0\ref{blah}\relax

maiuscolo

\uppercase\expandafter{\romannumeral 0\ref{blah}}

+1

Grazie per pensare a questo. Ho provato il primo suggerimento, tuttavia, e non sembra funzionare: l'output è ancora arabo. – anon

+0

@anon: impossibile. Funziona bene per me. –

+0

Forse posso risolvere meglio se so cosa stanno facendo i vari bit dell'espressione. A cosa servono "0" e "\ relax"? – anon

1

Quali sono i riferimenti a ? Di solito, si ridefinisce il modo in cui viene visualizzato quel particolare contatore.

Ad esempio, per cambiare la modalità di visualizzazione di un numero di sezione, è possibile utilizzare il seguente comando:

\renewcommand\thesection{\Roman{section}} 

Ora, ogni comando che utilizza internamente \thesection stamperà il numero di sezione come un numero romano.

comandi simili funzionano per chapter, figure ecc

\roman (minuscolo r) produrre numeri romani minuscoli.

+0

I riferimenti si riferiscono a un numero di articolo in un elenco. Ho reso i numeri degli oggetti in uscita in roman usando \ renewcommand {\ labelenumi} {(\ roman {enumi})}, ma questo non sembra essere riportato ai riferimenti. C'è un modo migliore per farlo? – anon

+0

@anon: Oops, non ho notato la parte relativa agli elementi dell'elenco. –

3

Si può provare \def\theenumi{\roman{enumi}} all'interno di un ambiente enumerate - questo cambia sia le etichette che i riferimenti, ma sarà necessario annullarlo in modo esplicito (se lo si desidera).

1

Per minuscole: {\romannumeral \ref{blah}}

Per maiuscolo: \uppercase\expandafter{\romannumeral \ref{blah}}

Problemi correlati