Per avere il seguente output che coinvolge il simbolo dei gradi
Posso provare
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Tuttavia, questo è un modo scomodo per ottenere il simbolo del grado: si ritorna alla modalità matematica e si trasforma un simbolo esistente in apice.
Esiste un modo semplice per ottenere il simbolo del grado?
Commenti
Risposta
Userei siunitx e così un comando semantico:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Ma puoi anche caricare textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Commenti
- Utilizzeresti ancora
\ang
se il testo era ” La temperatura è di 30 gradi C “? - @Viesturs: No. Il significato di
\ang
è angolo, quindi non lo ‘ uso improprio per la temperatura. Vorrei utilizzare\SI{30}{\celsius}
. - Con il tuo primo esempio: ricordo che
siunitx
utilizza$^\circ$
stampella per i simboli dei gradi (per motivi di compatibilità), che spesso trovo ‘ non sembrano molto adatti al carattere in uso (anche le linee troppo sottili cerchio grande). Quindi tendo a ridefinire i comandi di simbolisiunitx
appropriati per le mie esigenze, di solito il carattere Unicode appropriato. - @lblb potresti aggiungere un esempio con quello come unaltra risposta , per favore?
- @ K.-Michael Aye: Fatto.
Risposta
Il seguente codice di esempio serve a mostrare che siunitx
utilizza anche la brutta costruzione $^\circ$
(per motivi di compatibilità). La maggior parte dei caratteri ha un simbolo dei gradi per gli angoli (U+00B0 DEGREE SIGN
) e alcuni hanno un simbolo dei gradi Celsius per le temperature (U+2103 DEGREE CELSIUS
, prodotto da \textcelsius
nel mio esempio) e questi simboli di solito si adatterebbero meglio alle larghezze delle linee del carattere.
Il mio esempio mostra anche che il simbolo del singolo grado e quello incluso nel il glifo con grado Celsius speciale non deve essere lo stesso, quindi personalmente lo ridefinirei di conseguenza quando li uso entrambi in un lavoro, vedi la seconda riga.
Compila con XeLaTeX o LuaLaTeX.
\documentclass{article} \usepackage{fontspec} \usepackage{siunitx} \begin{document} ° % degree symbol \si{\celsius} % ${}^{\circ}$ \textcelsius\ % special glyph of the font \si{\degree} % angle unit \sisetup{ math-celsius = °\text{C}, % for temperatures text-celsius = °C, math-degree = °, % for angles text-degree = ° } ° \si{\celsius} % now with the glyph \textcelsius\ % special glyph of the font \si{\degree} % angle unit \end{document}
Commenti
- ‘ non sono sicuro di come misuri ‘ la maggior parte dei ‘ caratteri: quelli TeX classici normalmente non hanno un simbolo di grado. In gradi Celsius, il singolo punto di codice Unicode è un carattere di compatibilità, e decompos es a ‘ grado ‘ + ‘ lettera C ‘.
- @Joseph Wright: Ho scritto per esperienza di font non TeX, che tutti quelli che ‘ ho incontrato hanno il ° (grado) simbolo. Con il grado Celsius, la seconda riga del mio esempio confronta
°
+C
con il singolo glifo e hanno un aspetto diverso (con il CM font, haven ‘ t ne ha testati altri). Queste sono solo le mie conclusioni, ‘ non sono un esperto in materia.
Risposta
Esiste anche un pacchetto gensymb
. Lo preferisco, poiché fornisce solo un simbolo per entrambe le modalità testo / matematica, e puoi fare tutto ciò che vuoi con esso.
Esempio:
\usepackage{gensymb} % ... $20 \degree$
Commenti
- Adoro questa risposta semplice e pratica!
Risposta
Il simbolo è U + 00B0 in Unicode e la codifica TS1 lo contiene se si desidera utilizzare la versione legacy NFSS. Il comando standard è \textdegree
ed è definito da textcomp
o fontspec
.Puoi anche inserirlo nel file sorgente UTF-8 o utilizzare inputenc
per dichiarare una codifica di input diversa. Praticamente tutti i caratteri di testo lo supportano.
Esempio:
\documentclass[varwidth]{standalone} \usepackage{iftex} \ifPDFTeX \usepackage[T1]{fontenc} \usepackage{textcomp} % For TS1. \usepackage[utf8]{inputenc} % The default since 2018. \else \usepackage{fontspec} \fi \begin{document} 30\textdegree{} is hot. 20\textdegree{} is pleasing. 10\textdegree{} is not. 0\textdegree{} is freezing. \end{document}
Cè anche \textcelsius
per il carattere ℃ (U + 2103), ma (lultima volta che ho controllato) per fare in modo che PDFLaTeX riconosca il carattere UTF-8 in ingresso, devi aggiungere il comando \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Risposta
Puoi utilizzare °
direttamente con
\usepackage{textcomp}
Esempio:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Commenti
- In realtà
textcomp
è sufficiente . Dal 2018utf8
è la codifica di input predefinita e ‘ troverai\DeclareUnicodeCharacter{00B0}{\textdegree}
inutf8enc.dfu
. Per quanto ne so, oggigiorno praticamente non servegensymb
. - Ups, edited, good
- Come digitare sulla tastiera ° simbolo?
- dipende dal layout della tastiera, puoi inserire
Alt
+248
, se hai una tastiera internazionale USASHIFT
+CTRL
+ALT
+;
| La migliore in Latam KeyboardSHIFT
+`
- Su un Mac utilizzi
command
+control
+space
e cerca solo il glifo dei gradi.
Risposta
Suggerirei una soluzione abbastanza breve e semplice, senza utilizzare pacchetti aggiuntivi e / o speciali a tale scopo. Nel preambolo definire quanto segue: \renewcommand{\deg}{$^\circ$}
Poiché \deg
è una parola riservata, deve essere ridefinita per questo scopo. Nel mio utilizzo, non ho ancora visto alcun ostacolo per farlo.
Più avanti, nel testo, puoi semplicemente digitare The angle is 30\deg.
Commenti
- No, non ‘ pensare
\deg
(che è un simbolo di funzione) dovrebbe essere ridefinito per questo. Il tuo comando fallirà anche in modalità matematica … Il modo preferito al giorno doggi dovrebbe esseresiunitx
. Inoltre, la tua proposta è già stata fatta dallO.P., a parte racchiuderla in una macro.
The angle is $30^\circ$.
e loutput è lo stesso disiunitx
‘ s.\degree
.siunitx
lo fa per motivi di compatibilità. Quindi, se ci si sforza di ottenere un aspetto migliore, è meglio ridefinirli.