Om de volgende uitvoer te hebben met het graden-symbool

voer de beschrijving van de afbeelding hier in

Ik kan het proberen

\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document} 

Dit is een lastige manier om het graden-symbool te verkrijgen – men keert terug naar de wiskundige modus en zet een bestaand symbool in superscript.

Is er een eenvoudige manier om het graden-symbool te verkrijgen?

Opmerkingen

Answer

Ik zou siunitx gebruiken en zo een semantisch commando:

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

voer hier de afbeeldingsbeschrijving in

Maar je kunt ook textcomp laden

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

voer de beschrijving van de afbeelding hier in

Reacties

  • Zou je nog steeds \ang als de tekst ” was De temperatuur is 30 ° C “?
  • @Viesturs: Nee. De betekenis van \ang is hoek, dus ik zou ‘ het niet misbruiken voor een temperatuur. Ik zou \SI{30}{\celsius} gebruiken.
  • Met je eerste voorbeeld: ik herinner me dat siunitx de $^\circ$ kruk voor de gradensymbolen (vanwege compatibiliteitsredenen), die ik vaak niet ‘ niet erg passend vindt bij het gebruikte lettertype (ook te dunne lijnen grote cirkel). Dus ik heb de neiging om de juiste siunitx symboolopdrachten voor mijn behoeften opnieuw te definiëren, meestal het juiste Unicode-teken.
  • @lblb kun je daar een voorbeeld aan toevoegen als een ander antwoord , alstublieft?
  • @ K.-Michael Aye: Klaar.

Antwoord

De volgende voorbeeldcode dient om te laten zien dat siunitx ook de lelijke $^\circ$ constructie gebruikt (om compatibiliteitsredenen). De meeste lettertypen hebben een graden-symbool voor hoeken (U+00B0 DEGREE SIGN) en sommige hebben een graden-Celsius-symbool voor temperaturen (U+2103 DEGREE CELSIUS, uitgevoerd door \textcelsius in mijn voorbeeld) en deze symbolen passen meestal beter bij de lijndiktes van het lettertype.

Mijn voorbeeld laat ook zien dat het symbool van één graad en het symbool dat in de speciale graad Celsius-glyph hoeft niet hetzelfde te zijn, dus ik zou het persoonlijk dienovereenkomstig opnieuw definiëren als ik “beide in een werkstuk gebruik, zie de tweede regel.

Compileren met XeLaTeX of 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

Reacties

  • Ik ‘ m niet zeker hoe je meet ‘ de meeste ‘ -lettertypen: klassieke TeX-lettertypen hebben normaal gesproken geen graden-symbool. Op graden Celsius is het enkele Unicode-codepunt een compatibiliteitsteken, en es naar ‘ degree ‘ + ‘ letter C ‘.
  • @Joseph Wright: ik schreef uit ervaring met niet-TeX-lettertypen, dat alle lettertypen die ik ‘ ben tegengekomen de ° (graden) symbool. Met de graden Celsius vergelijkt de tweede regel in mijn voorbeeld ° + C met de enkele glyph, en ze zien er anders uit (met de CM font, heb ‘ t andere getest). Dit zijn slechts mijn conclusies, ik ‘ ben hierin geen expert.

Antwoord

Er is ook een gensymb -pakket. Ik geef er de voorkeur aan, omdat het slechts een symbool biedt voor beide tekst- / wiskundige modi, en je kunt er alles mee doen wat je wilt.

Voorbeeld:

\usepackage{gensymb} % ... $20 \degree$ 

Reacties

  • Ik hou van dit eenvoudige en praktische antwoord!

Antwoord

Het symbool is U + 00B0 in Unicode, en de TS1-codering bevat het als u legacy NFSS wilt gebruiken. Het standaardcommando hiervoor is \textdegree en wordt gedefinieerd door textcomp of fontspec.U kunt het ook invoeren in uw UTF-8-bronbestand, of inputenc gebruiken om een andere invoercodering aan te geven. Vrijwel alle tekstlettertypen ondersteunen dit.

Voorbeeld:

\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} 

Voorbeeldafbeelding

Er is ook \textcelsius voor het teken ℃ (U + 2103), maar (sinds de laatste keer dat ik het controleerde) om PDFLaTeX het UTF-8-teken bij invoer te laten herkennen, moet je het commando \DeclareUnicodeCharacter{"2103}{\textcelsius} toevoegen.

Antwoord

U kunt ° rechtstreeks gebruiken met

\usepackage{textcomp} 

Voorbeeld:

\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document} 

Gecompileerd

Reacties

  • Eigenlijk is textcomp voldoende . Sinds 2018 is utf8 de vooraf gedefinieerde invoercodering, en u ‘ zult \DeclareUnicodeCharacter{00B0}{\textdegree} vinden in utf8enc.dfu. AFAIK heeft tegenwoordig in principe geen zin voor gensymb.
  • Ups, bewerkt, goed
  • Hoe op het toetsenbord de ° symbool?
  • hangt af van de indeling van uw toetsenbord, u kunt invoegen met Alt + 248, als u een Amerikaans internationaal toetsenbord hebt SHIFT + CTRL + ALT + ; | Beste in Latam-toetsenbord SHIFT + `
  • Op een Mac gebruik je command + control + space en zoek gewoon naar graden-glyph.

Antwoord

Ik zou een vrij korte en eenvoudige oplossing willen voorstellen, zonder daarvoor aanvullende en / of speciale pakketten te gebruiken. Definieer in de preambule het volgende: \renewcommand{\deg}{$^\circ$}

Aangezien \deg een gereserveerd woord is, moet het hiervoor opnieuw worden gedefinieerd doel. In mijn gebruik heb ik nog geen obstakel gezien om dat te doen.

Later, in de tekst, kun je gewoon The angle is 30\deg.

Reacties

  • Nee, ik denk niet ‘ niet \deg (dat is een functiesymbool) moet hiervoor opnieuw worden gedefinieerd. Je commando zal ook mislukken in de wiskundige modus … De geprefereerde manier zou tegenwoordig siunitx moeten zijn. Bovendien is uw voorstel al gedaan door de O.P., afgezien van het inpakken in een macro.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *