Um die folgende Ausgabe mit dem Gradsymbol

Geben Sie hier die Bildbeschreibung ein.

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

Antwort

Ich würde siunitx und so verwenden ein semantischer Befehl:

\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document} 

Geben Sie hier die Bildbeschreibung ein

Sie können aber auch textcomp

\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document} 

Geben Sie hier die Bildbeschreibung ein.

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 entsprechenden siunitx -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} 

Screenshot

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} 

Beispielbild

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} 

Kompiliert

Kommentare

  • Tatsächlich reicht textcomp aus . Seit 2018 ist utf8 die vordefinierte Eingabecodierung, und Sie ‚ finden \DeclareUnicodeCharacter{00B0}{\textdegree} in utf8enc.dfu. AFAIK heutzutage gibt es im Grunde keine Verwendung für gensymb.
  • 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 haben SHIFT + CTRL + ALT + ; | Best in Latam Keyboard SHIFT + `
  • 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.

Kommentare

  • 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 heutzutage siunitx sein. Außerdem wurde Ihr Vorschlag bereits von der O.P. gemacht, abgesehen davon, dass Sie ihn in ein Makro einwickeln.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.