For å få følgende utgang som involverer gradssymbolet
Jeg kan prøve
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Dette er en vanskelig måte å få gradssymbolet på – man går tilbake til matematikkmodus og kaster et eksisterende symbol i overskrift.
Er det en grei måte å få gradssymbolet på?
Kommentarer
Svar
Jeg vil bruke siunitx og så en semantisk kommando:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Men du kan også laste textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Kommentarer
- Vil du fortsatt bruke
\ang
hvis teksten var » Temperaturen er 30 grader C «? - @Viesturs: Nei. Betydningen av
\ang
er vinkel, så jeg ville ikke ‘ ikke misbruke den til en temperatur. Jeg vil bruke\SI{30}{\celsius}
. - Med ditt første eksempel: Jeg husker at
siunitx
bruker$^\circ$
krykke for sine gradssymboler (av kompatibilitetsårsaker), som jeg ofte synes ‘ ikke ser veldig passende ut til skriften som er i bruk (for tynne linjer også stor sirkel). Så jeg pleier å omdefinere passendesiunitx
symbolkommandoer for mine behov, vanligvis det riktige unicode-tegnet. - @lblb kan du legge til et eksempel med det som et annet svar , vær så snill?
- @ K.-Michael Aye: Ferdig.
Svar
Følgende eksempelkode tjener til å vise at siunitx
også bruker den stygge $^\circ$
-konstruksjonen (av kompatibilitetsårsaker). De fleste skriftene har et gradssymbol for vinkler (U+00B0 DEGREE SIGN
), og noen har et grad Celsius-symbol for temperaturer (U+2103 DEGREE CELSIUS
, utgitt av \textcelsius
i mitt eksempel) og disse symbolene passer vanligvis bedre til linjebreddene til skriften.
Mitt eksempel viser også at enkeltgrads-symbolet og det som er inkludert i spesialgrad Celsius-glyf trenger ikke å være den samme, så jeg personlig vil omdefinere den tilsvarende når jeg bruker begge deler i et stykke arbeid, se andre linje.
Kompiler 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 ‘ de fleste ‘ skrifttyper: klassiske TeX-skrifter har normalt ikke et gradssymbol. På grad Celsius er det eneste Unicode-kodepunktet et kompatibilitetstegn og dekomponerer es til ‘ grad ‘ + ‘ bokstav C ‘.
- @Joseph Wright: Jeg skrev fra erfaring fra ikke-TeX-skrifter at alle de jeg ‘ har kommet over har ° (grad) symbol. Med graden Celsius sammenligner den andre linjen i mitt eksempel
°
+C
med enkelttegnen, og de ser annerledes ut (med CM font, haven ‘ t testet andre). Dette er bare konklusjonene mine, jeg ‘ er ikke ekspert på dette.
Svar
Det er også en gensymb
pakke. Jeg foretrekker det, siden det bare gir et symbol for begge tekst / matematiske moduser, og du kan gjøre alt du vil med det.
Eksempel:
\usepackage{gensymb} % ... $20 \degree$
Kommentarer
- Jeg elsker dette enkle og praktiske svaret!
Svar
Symbolet er U + 00B0 i Unicode, og TS1-kodingen inneholder det hvis du vil bruke eldre NFSS. Standardkommandoen for den er \textdegree
og er definert av enten textcomp
eller fontspec
.Du kan også angi den i UTF-8-kildefilen din, eller bruke inputenc
for å erklære en annen inngangskoding. Nesten alle tekstskrifter stø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}
Det er også \textcelsius
for tegnet ℃ (U + 2103), men (sist jeg sjekket) for å få PDFLaTeX til å gjenkjenne UTF-8-tegnet ved inngang, må du legge til kommandoen \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Svar
Du kan bruke °
direkte med
\usepackage{textcomp}
Eksempel:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Kommentarer
- Egentlig er
textcomp
. Siden 2018 erutf8
den forhåndsdefinerte inngangskodingen, og du ‘ finner\DeclareUnicodeCharacter{00B0}{\textdegree}
iutf8enc.dfu
. AFAIK nå til dags er det i utgangspunktet ikke bruk forgensymb
. - Ups, redigert, bra
- Slik skriver du ° symbol?
- avhenger av tastaturoppsettet, du kan sette inn med
Alt
+248
, hvis du har USAs internasjonale tastaturSHIFT
+CTRL
+ALT
+;
| Best in Latam KeyboardSHIFT
+`
- På en Mac bruker du
command
+control
+space
og bare søk etter gradstegn.
Svar
Jeg vil foreslå en ganske kort og enkel løsning uten å bruke tilleggs- og / eller spesielle pakker til det formålet. I innledningen definerer du følgende: \renewcommand{\deg}{$^\circ$}
Da \deg
er et reservert ord, må det omdefineres for dette hensikt. I min bruk har jeg ennå ikke sett noen hindring for å gjøre det.
Senere, i teksten, kan du bare skrive The angle is 30\deg.
Kommentarer
- Nei, jeg tror ikke ‘ t tror
\deg
(som er et funksjonsymbol) bør omdefineres for dette. Kommandoen din mislykkes også i matematikkmodus … Den foretrukne måten i dag bør væresiunitx
. I tillegg til at ditt forslag allerede er gjort av O.P., bortsett fra å pakke det inn i en makro.
The angle is $30^\circ$.
, og utgangen er den samme somsiunitx
‘ s.\degree
.siunitx
gjør det av kompatibilitetsgrunner. Så hvis man strever for bedre utseende, er det best å omdefinere dem.