Există o modalitate de a produce cifre romane în text, astfel încât să existe un „overline and underline” conectat? Am încercat să folosesc combinații precum
\overline{\underline{XVI}}
dar liniile sunt deconectate. Caut o soluție care să producă cifre similare cu imaginea de mai jos.
Comentarii
- Ați văzut tex.stackexchange.com/q/24065/ 4427 ?
- Nu l-am văzut ', mulțumesc pentru distribuire!
Răspuns
\documentclass{article} \usepackage{stackengine} \setstackEOL{\\} \newcounter{tmpctr} \newcommand\fancyRoman[1]{% \setcounter{tmpctr}{#1}% \setbox0=\hbox{\kern.2pt\textsf{\Roman{tmpctr}}}% \setstackgap{S}{-.6pt}% \Shortstack{\rule{\dimexpr\wd0+.1ex}{.7pt}\\\copy0\\ \rule{\dimexpr\wd0+.1ex}{.7pt}}% } \begin{document} Fancy Romans: 1--5: \fancyRoman{1} \fancyRoman{2} \fancyRoman{3} \fancyRoman{4} \fancyRoman{5} 6--10: \fancyRoman{6} \fancyRoman{7} \fancyRoman{8} \fancyRoman{9} \fancyRoman{10} 11--12: \fancyRoman{11} \fancyRoman{12} \end{document}
Comentarii
- Frumos, dar adesea ' S-a așteptat ca numerele romane să utilizeze fontul roman " obișnuit ", nu sans serif.
- @barbarabeeton Înțeles, cu excepția cifrei OP ' indicată altfel. Așa că am mers cu ea.
- Funcționează bine. O utilizare frumoasă a contorului! Dacă cineva știe deja că vor ' XVI , s-ar putea să eliminați contorul și să înlocuiți argumentul pentru \ textsf cu # 1.
- @Zeick Acest lucru este corect, dacă ați prefera să introduceți cifra romană în locul cifrei arabe ca intrare.
Răspuns
Am folosit, în schimb, un pachet vechi numit romanbar
pachet pentru a scrie numere romane unde puteți vedea și macro-ul utilizatorului @egreg că este același cu linkul comentariului sub întrebare,
Aici este codul meu mic:
\documentclass[12pt,a4paper]{article} \usepackage{newtxtext}%%%%%%%%%%%% <----optional (it gives a best view of the roman numbers) - %%%% You can choose another font compilable with pdfLaTeX \usepackage{romanbar} \begin{document} \Romanbar{1}, \Romanbar{2}, \Romanbar{5}, \Romanbar{10}, \Romanbar{43} \end{document}