Um die folgende Ausgabe mit dem Gradsymbol
Ich kann versuchen,
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
dies jedoch ist eine umständliche Methode, um das Gradsymbol zu erhalten – man kehrt in den mathematischen Modus zurück und wandelt ein vorhandenes Symbol in hochgestellte Zeichen um.
Gibt es eine einfache Möglichkeit, das Gradsymbol zu erhalten?
Kommentare
- Schauen Sie sich an. Wie füge ich ein Grad-Celsius-Symbol in den Knotentext in pgfplots / tikz ein?
- Mit
The angle is $30^\circ$.
ist nichts falsch, und die Ausgabe ist dieselbe wiesiunitx
‚ s. - Ich habe mir so etwas wie
\degree
vorgestellt. - @AboAmmar: Siehe meine Antwort,
siunitx
macht das aus Kompatibilitätsgründen. Wenn man also nach einem besseren Aussehen strebt, ist es am besten, sie neu zu definieren.
Antwort
Ich würde siunitx und so verwenden ein semantischer Befehl:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Sie können aber auch textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Kommentare
- Würden Sie weiterhin
\ang
wenn der Text “ war Die Temperatur beträgt 30 ° C „? - @Viesturs: Nein. Die Bedeutung von
\ang
ist Winkel, daher würde ich ‚ es nicht für eine Temperatur missbrauchen. Ich würde\SI{30}{\celsius}
verwenden. - Bei Ihrem ersten Beispiel: Ich erinnere mich, dass
siunitx
die Krücke für ihre Gradsymbole (aus Kompatibilitätsgründen), die ich häufig finde ‚ sieht nicht sehr passend für die verwendete Schriftart aus (auch zu dünne Linien) großer Kreis). Daher neige ich dazu, die entsprechendensiunitx
-Symbolbefehle für meine Anforderungen neu zu definieren, normalerweise das entsprechende Unicode-Zeichen. - @lblb können Sie ein Beispiel damit als weitere Antwort hinzufügen , bitte?
- @ K.-Michael Aye: Fertig.
Antwort
Der folgende Beispielcode zeigt, dass siunitx
auch die hässliche $^\circ$
-Konstruktion verwendet (aus Kompatibilitätsgründen). Die meisten Schriftarten haben ein Gradsymbol für Winkel (U+00B0 DEGREE SIGN
) und einige haben ein Grad-Celsius-Symbol für Temperaturen (U+2103 DEGREE CELSIUS
, ausgegeben von \textcelsius
in meinem Beispiel) und diese Symbole passen normalerweise besser zu den Linienbreiten der Schriftart.
Mein Beispiel zeigt auch, dass das Einzelgradsymbol und das im Celsius-Glyphen mit besonderem Grad müssen nicht gleich sein, daher würde ich sie persönlich entsprechend neu definieren, wenn ich beide in einer Arbeit verwende, siehe zweite Zeile.
Kompilieren Sie mit XeLaTeX oder 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}
Kommentare
- Ich ‚ bin mir nicht sicher, wie Sie ‚ Die meisten ‚ -Schriftarten: Klassische TeX-Schriftarten haben normalerweise kein Gradsymbol. Bei Grad Celsius ist der einzelne Unicode-Codepunkt ein Kompatibilitätszeichen und zerlegt es bis ‚ Grad ‚ + ‚ Buchstabe C ‚.
- @Joseph Wright: Ich habe aus Erfahrung mit Nicht-TeX-Schriftarten geschrieben, dass alle, denen ich ‚ begegnet bin, das ° (Grad) Symbol. Mit dem Grad Celsius vergleicht die zweite Zeile in meinem Beispiel
°
+C
mit dem einzelnen Glyphen und sie sehen anders aus (mit dem CM Schriftart, habe ‚ andere nicht getestet). Dies sind nur meine Schlussfolgerungen. Ich ‚ bin kein Experte in diesem Bereich.
Antwort
Es gibt auch ein gensymb
Paket. Ich bevorzuge es, da es nur ein Symbol für beide Text- / Mathematikmodi enthält und Sie damit alles tun können, was Sie wollen.
Beispiel:
\usepackage{gensymb} % ... $20 \degree$
Kommentare
- Ich liebe diese einfache und praktische Antwort!
Antwort
Das Symbol ist U + 00B0 in Unicode, und die TS1-Codierung enthält es, wenn Sie Legacy-NFSS verwenden möchten. Der Standardbefehl dafür ist \textdegree
und wird entweder durch textcomp
oder fontspec
definiert.Sie können es auch in Ihre UTF-8-Quelldatei eingeben oder inputenc
verwenden, um eine andere Eingabecodierung zu deklarieren. Praktisch alle Textschriftarten unterstützen dies.
Beispiel:
\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}
Es gibt auch \textcelsius
für das Zeichen ℃ (U + 2103), aber (seit ich das letzte Mal überprüft habe), damit PDFLaTeX das UTF-8-Zeichen bei der Eingabe erkennt, müssen Sie den Befehl \DeclareUnicodeCharacter{"2103}{\textcelsius}
hinzufügen.
Antwort
Sie können °
direkt mit
\usepackage{textcomp}
Beispiel:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Kommentare
- Tatsächlich reicht
textcomp
aus . Seit 2018 istutf8
die vordefinierte Eingabecodierung, und Sie ‚ finden\DeclareUnicodeCharacter{00B0}{\textdegree}
inutf8enc.dfu
. AFAIK heutzutage gibt es im Grunde keine Verwendung fürgensymb
. - Ups, bearbeitet, gut
- Wie man die ° Symbol?
- hängt vom Layout Ihrer Tastatur ab. Sie können es mit
Alt
+ , wenn Sie eine USA International-Tastatur habenSHIFT
+CTRL
+ALT
+;
| Best in Latam KeyboardSHIFT
+`
- Auf einem Mac verwenden Sie
command
+control
+space
und suchen Sie einfach nach Grad Glyphe.
Antwort
Ich würde eine ziemlich kurze und einfache Lösung vorschlagen, ohne zusätzliche und / oder spezielle Pakete für diesen Zweck zu verwenden. Definieren Sie in der Präambel Folgendes: \renewcommand{\deg}{$^\circ$}
Da \deg
ein reserviertes Wort ist, muss es dafür neu definiert werden Zweck. In meiner Verwendung habe ich noch kein Hindernis dafür gesehen.
Später im Text können Sie einfach The angle is 30\deg.
- Nein, ich ‚ denke nicht, dass
\deg
(was ist) Hierfür sollte ein Funktionssymbol neu definiert werden. Ihr Befehl schlägt auch im Mathematikmodus fehl … Der bevorzugte Weg sollte heutzutagesiunitx
sein. Außerdem wurde Ihr Vorschlag bereits von der O.P. gemacht, abgesehen davon, dass Sie ihn in ein Makro einwickeln.