Afin davoir la sortie suivante impliquant le symbole de degré
Je peux essayer
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Cependant, ceci est une manière maladroite dobtenir le symbole du degré – on revient au mode mathématique et transforme un symbole existant en exposant.
Existe-t-il un moyen simple dobtenir le symbole du degré?
Commentaires
Réponse
Jutiliserais siunitx et ainsi une commande sémantique:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Mais vous pouvez également charger textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Commentaires
- Utiliseriez-vous encore
\ang
si le texte était » La température est de 30 degrés C « ? - @Viesturs: Non. La signification de
\ang
est langle, donc je ne ‘ pas lutiliser pour une température. Jutiliserais\SI{30}{\celsius}
. - Avec votre premier exemple: je me souviens que
siunitx
utilise le$^\circ$
béquille pour ses symboles de degré (pour des raisons de compatibilité), que je trouve souvent ‘ t très adaptée à la police utilisée (lignes trop fines aussi grand cercle). Jai donc tendance à redéfinir les commandes de symbolesiunitx
appropriées pour mes besoins, généralement le caractère Unicode approprié. - @lblb pourriez-vous ajouter un exemple avec cela comme autre réponse , sil vous plaît?
- @ K.-Michael Aye: Terminé.
Réponse
Lexemple de code suivant montre que siunitx
utilise également la construction laide $^\circ$
(pour des raisons de compatibilité). La plupart des polices ont un symbole de degré pour les angles (U+00B0 DEGREE SIGN
) et certaines ont un symbole de degré Celsius pour les températures (U+2103 DEGREE CELSIUS
, généré par \textcelsius
dans mon exemple) et ces symboles correspondent généralement mieux aux largeurs de ligne de la police.
Mon exemple montre également que le symbole de degré unique et celui inclus dans le Le glyphe de degré spécial Celsius ne doit pas nécessairement être le même, donc je le redéfinirais personnellement en conséquence lorsque jutilise les deux dans un travail, voir la deuxième ligne.
Compilez avec XeLaTeX ou 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}
Commentaires
- Je ‘ ne sais pas comment vous mesurez ‘ la plupart des polices ‘: les polices TeX classiques nont normalement pas de symbole de degré. Au degré Celsius, le point de code Unicode unique est un caractère de compatibilité et se décompose es à ‘ degré ‘ + ‘ lettre C ‘.
- @Joseph Wright: Jai écrit à partir de mon expérience des polices non TeX, que toutes celles que jai ‘ rencontrées ont le ° (degré) symbole. Avec le degré Celsius, la deuxième ligne de mon exemple compare
°
+C
avec le seul glyphe, et ils ont lair différent (avec le CM font, ‘ t testé dautres). Ce ne sont que mes conclusions, je ‘ ne suis pas un expert en la matière.
Réponse
Il existe également un package gensymb
. Je le préfère, car il ne fournit quun symbole pour les deux modes texte / mathématique, et vous pouvez faire tout ce que vous voulez avec.
Exemple:
\usepackage{gensymb} % ... $20 \degree$
Commentaires
- Jadore cette réponse simple et pratique!
Réponse
Le symbole est U + 00B0 en Unicode, et lencodage TS1 le contient si vous souhaitez utiliser le NFSS hérité. La commande standard pour cela est \textdegree
et est définie par textcomp
ou fontspec
.Vous pouvez également le saisir dans votre fichier source UTF-8 ou utiliser inputenc
pour déclarer un codage dentrée différent. Pratiquement toutes les polices de texte le prennent en charge.
Exemple:
\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}
Il y a aussi \textcelsius
pour le caractère ℃ (U + 2103), mais (depuis la dernière fois que jai vérifié) pour que PDFLaTeX reconnaisse le caractère UTF-8 à lentrée, vous devez ajouter la commande \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Réponse
Vous pouvez utiliser °
directement avec
\usepackage{textcomp}
Exemple:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Commentaires
- En fait,
textcomp
suffit . Depuis 2018,utf8
est le codage dentrée prédéfini et vous ‘ trouverez\DeclareUnicodeCharacter{00B0}{\textdegree}
dansutf8enc.dfu
. AFAIK de nos jours, il est fondamentalement inutile degensymb
. - Ups, édité, bien
- Comment taper sur le clavier le ° symbole?
- dépend de la disposition de votre clavier, vous pouvez insérer par
Alt
+248
, si vous disposez du clavier USA InternationalSHIFT
+CTRL
+ALT
+;
| Meilleur clavier en Amérique latineSHIFT
+`
- Sur un Mac, vous utilisez
command
+control
+space
et recherchez simplement le degré glyphe.
Réponse
Je suggérerais une solution assez courte et simple, sans utiliser de packages supplémentaires et / ou spéciaux à cet effet. Dans le préambule définissez ce qui suit: \renewcommand{\deg}{$^\circ$}
Comme \deg
est un mot réservé, il doit être redéfini pour cela but. Dans mon utilisation, je nai encore vu aucun obstacle pour faire ça.
Plus tard, dans le texte, vous pouvez simplement taper The angle is 30\deg.
Commentaires
- Non, je ne ‘ pense pas
\deg
(qui est un symbole de fonction) doit être redéfini pour cela. Votre commande échouera également en mode mathématique … La méthode préférée de nos jours devrait êtresiunitx
. En plus de tout, votre proposition a déjà été faite par lO.P., mis à part son emballage dans une macro.
The angle is $30^\circ$.
, et le résultat est le même quesiunitx
‘ s.\degree
.siunitx
fait cela pour des raisons de compatibilité. Donc, si lon cherche à obtenir une meilleure apparence, il est préférable de les redéfinir.