For at have følgende output, der involverer gradssymbolet
Jeg kan prøve
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Dette er dog er en akavet måde at opnå gradssymbolet på – man vender tilbage til matematisk tilstand og kaster et eksisterende symbol i overskrift.
Er der en ligetil måde at opnå gradssymbolet på?
Kommentarer
Svar
Jeg bruger siunitx og så en semantisk kommando:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Men du kan også indlæse textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Kommentarer
- Vil du stadig bruge
\ang
hvis teksten var ” Temperaturen er 30 grader C “? - @Viesturs: Nej. Betydningen af
\ang
er vinkel, så jeg ville ikke ‘ misbruge det til en temperatur. Jeg bruger\SI{30}{\celsius}
. - Med dit første eksempel: Jeg husker, at
siunitx
bruger$^\circ$
krykke for dets gradssymboler (af kompatibilitetsårsager), som jeg ofte finder ‘ ikke ser meget passende ud til den anvendte skrifttype (for tynde linjer også stor cirkel). Så jeg har tendens til at omdefinere de relevantesiunitx
symbolkommandoer til mine behov, normalt det passende unicode-tegn. - @lblb kan du tilføje et eksempel med det som et andet svar , tak?
- @ K.-Michael Aye: Udført.
Svar
Følgende eksempelkode tjener til at vise, at siunitx
også bruger den grimme $^\circ$
-konstruktion (af kompatibilitetsårsager). De fleste skrifttyper har et gradssymbol for vinkler (U+00B0 DEGREE SIGN
), og nogle har et grad Celsius-symbol for temperaturer (U+2103 DEGREE CELSIUS
, output med \textcelsius
i mit eksempel) og disse symboler passer normalt bedre til skrifttypens linjebredder.
Mit eksempel viser også, at enkeltgrads-symbolet og det, der er inkluderet i specialgrad Celsius-glyf behøver ikke at være den samme, så jeg personligt ville omdefinere det i overensstemmelse hermed, når jeg bruger begge dele i et stykke arbejde, se anden linje.
Kompilér med XeLaTeX eller 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}
Kommentarer
- Jeg ‘ jeg er ikke sikker på, hvordan du måler ‘ mest ‘ skrifttyper: klassiske TeX-skrifter har normalt ikke et gradssymbol. På grad Celsius er det eneste Unicode-kodepunkt et kompatibilitetstegn og dekomponeres es til ‘ grad ‘ + ‘ bogstav C ‘.
- @Joseph Wright: Jeg skrev af erfaring med ikke-TeX-skrifttyper, at alle dem, jeg ‘ har stødt på, har ° (grad) symbol. Med graden Celsius sammenligner anden linje i mit eksempel
°
+C
med den enkelte glyf, og de ser anderledes ud (med CM font, haven ‘ t testede andre). Dette er bare mine konklusioner, jeg ‘ er ikke ekspert på dette.
Svar
Der findes også en gensymb
pakke. Jeg foretrækker det, da det kun giver et symbol til begge tekst / matematiske tilstande, og du kan gøre alt hvad du vil med det.
Eksempel:
\usepackage{gensymb} % ... $20 \degree$
Kommentarer
- Jeg elsker dette enkle og praktiske svar!
Svar
Symbolet er U + 00B0 i Unicode, og TS1-kodningen indeholder det, hvis du vil bruge ældre NFSS. Standardkommandoen for den er \textdegree
og er defineret af enten textcomp
eller fontspec
.Du kan også indtaste den i din UTF-8-kildefil eller bruge inputenc
til at erklære en anden indgangskodning. Næsten alle tekstskrifttyper understøtter det.
Eksempel:
\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}
Der er også \textcelsius
til tegnet ℃ (U + 2103), men (fra sidste gang jeg tjekkede) for at få PDFLaTeX til at genkende UTF-8-tegnet ved input, skal du tilføje kommandoen \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Svar
Du kan bruge °
direkte med
\usepackage{textcomp}
Eksempel:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Kommentarer
- Faktisk er
textcomp
nok . Siden 2018 erutf8
den foruddefinerede inputkodning, og du ‘ finder\DeclareUnicodeCharacter{00B0}{\textdegree}
iutf8enc.dfu
. AFAIK i dag er der stort set ingen brug forgensymb
. - Ups, redigeret, godt
- Sådan skriver du på ° symbol?
- afhænger af tastaturets layout, du kan indsætte med
Alt
+248
, hvis du har USA International tastaturSHIFT
+CTRL
+ALT
+;
| Bedst i Latam-tastaturSHIFT
+`
- På en Mac bruger du
command
+control
+space
og søg bare efter gradstegn.
Svar
Jeg vil foreslå en ret kort og enkel løsning uden at bruge yderligere og / eller specielle pakker til det formål. I indledningen defineres følgende: \renewcommand{\deg}{$^\circ$}
Da \deg
er et reserveret ord, skal det omdefineres til dette formål. I min brug har jeg endnu ikke set nogen hindring for at gøre det.
Senere i teksten kan du blot skrive The angle is 30\deg.
Kommentarer
- Nej, jeg tror ikke ‘ t tænker
\deg
(hvilket er et funktionssymbol) skal omdefineres til dette. Din kommando mislykkes også i matematisk tilstand … Den foretrukne måde i dag skal væresiunitx
. Udover alt er dit forslag allerede gjort af O.P. bortset fra at indpakke det i en makro.
The angle is $30^\circ$.
, og output er det samme somsiunitx
‘ s.\degree
.siunitx
gør det af kompatibilitetsårsager. Så hvis man stræber efter et bedre udseende, er det bedst at omdefinere dem.