För att ha följande utdata med gradsymbolen
Jag kan försöka
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Detta är dock är ett besvärligt sätt att få examenssymbolen – man återgår till matematikläge och kastar en befintlig symbol i superscript.
Finns det ett enkelt sätt att få examenssymbolen?
Kommentarer
Svar
Jag skulle använda siunitx och så ett semantiskt kommando:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Men du kan också ladda textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Kommentarer
- Skulle du fortfarande använda
\ang
om texten var ” Temperaturen är 30 grader C ”? - @Viesturs: Nej. Betydelsen av
\ang
är vinkel, så jag skulle inte ’ inte missbruka den för en temperatur. Jag skulle använda\SI{30}{\celsius}
. - Med ditt första exempel: Jag kommer ihåg att
siunitx
använder$^\circ$
krycka för sina gradssymboler (av kompatibilitetsskäl), vilket jag tycker ofta inte ser ’ inte mycket passande för teckensnittet som används (för tunna rader också stor cirkel). Så jag tenderar att omdefiniera lämpligasiunitx
symbolkommandon för mina behov, vanligtvis lämpligt unicode-tecken. - @lblb kan du lägga till ett exempel med det som ett annat svar , snälla?
- @ K.-Michael Aye: Klar.
Svar
Följande exempelkod tjänar till att visa att siunitx
också använder den fula $^\circ$
-konstruktionen (av kompatibilitetsskäl). De flesta teckensnitt har en gradssymbol för vinklar (U+00B0 DEGREE SIGN
) och vissa har en grad Celsius-symbol för temperaturer (U+2103 DEGREE CELSIUS
, utmatad med \textcelsius
i mitt exempel) och dessa symboler skulle vanligtvis passa bättre till teckensnittets linjebredder.
Mitt exempel visar också att singelgradssymbolen och den som ingår i specialgrad Celsius-glyf behöver inte vara densamma, så jag personligen skulle omdefiniera det därefter när jag använder båda i ett arbete, se andra raden.
Kompilera 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
- Jag ’ jag är inte säker på hur du mäter ’ de flesta ’ teckensnitt: klassiska TeX-sådana har normalt inte en gradssymbol. På grad Celsius är den enda Unicode-kodpunkten ett kompatibilitetstecken och sönderdelas es till ’ grad ’ + ’ bokstav C ’.
- @Joseph Wright: Jag skrev av erfarenhet av icke-TeX-teckensnitt att alla de jag ’ har stött på har ° (grad) symbol. Med graden Celsius jämför den andra raden i mitt exempel
°
+C
med enstaka glyph, och de ser annorlunda ut (med CM font, haven ’ t testade andra). Det här är bara mina slutsatser, jag ’ är inte expert på detta.
Svar
Det finns också ett gensymb
paket. Jag föredrar det, eftersom det bara ger en symbol för båda text- / matematiklägena och du kan göra allt vad du vill med det.
Exempel:
\usepackage{gensymb} % ... $20 \degree$
Kommentarer
- Jag älskar det här enkla och praktiska svaret!
Svar
Symbolen är U + 00B0 i Unicode, och TS1-kodningen innehåller den om du vill använda äldre NFSS. Standardkommandot för det är \textdegree
och definieras av antingen textcomp
eller fontspec
.Du kan också ange den i din UTF-8-källfil eller använda inputenc
för att deklarera en annan ingångskodning. Praktiskt taget alla teckensnitt stöder det.
Exempel:
\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}
Det finns också \textcelsius
för tecknet ℃ (U + 2103), men (senast när jag kollade) för att få PDFLaTeX att känna igen UTF-8-tecknet vid inmatning måste du lägga till kommandot \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Svar
Du kan använda °
direkt med
\usepackage{textcomp}
Exempel:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Kommentarer
- Egentligen
textcomp
räcker . Sedan 2018 ärutf8
den fördefinierade ingångskodningen och du ’ hittar\DeclareUnicodeCharacter{00B0}{\textdegree}
iutf8enc.dfu
. AFAIK nuförtiden finns det i princip ingen användning förgensymb
. - Ups, redigerade, bra
- Hur man skriver på ° symbol?
- beror på tangentbordets layout, du kan infoga med
Alt
+248
, om du har USA International-tangentbordSHIFT
+CTRL
+ALT
+;
| Bäst i Latam-tangentbordSHIFT
+`
- På en Mac använder du
command
+control
+space
och bara söka efter gradsteg.
Svar
Jag föreslår en ganska kort och enkel lösning utan att använda ytterligare och / eller speciella paket för detta ändamål. Definiera följande i ingressen: \renewcommand{\deg}{$^\circ$}
Eftersom \deg
är ett reserverat ord måste det omdefinieras för detta ändamål. I min användning har jag ännu inte sett något hinder för att göra det.
Senare, i texten, kan du helt enkelt skriva The angle is 30\deg.
Kommentarer
- Nej, jag tror inte ’ tänker
\deg
(vilket är en funktionssymbol) bör omdefinieras för detta. Ditt kommando misslyckas också i matematikläget … Det föredragna sättet för närvarande bör varasiunitx
. Förutom allt har ditt förslag redan gjorts av O.P., bortsett från att lägga in det i ett makro.
The angle is $30^\circ$.
, och utdata är densamma somsiunitx
’ s.\degree
.siunitx
gör det av kompatibilitetsskäl. Så om man strävar efter bättre utseende är det bäst att omdefiniera dem.