Chcete-li mít následující výstup zahrnující symbol stupně
Mohu zkusit
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Toto však je nepříjemný způsob získání symbolu stupně – člověk se vrátí do matematického režimu a vrhne existující symbol do horního indexu.
Existuje přímý způsob získání symbolu stupně?
Komentáře
Odpověď
Použil bych siunitx a tak sémantický příkaz:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Můžete ale také načíst textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Komentáře
- Stále byste používali
\ang
pokud byl text “ Teplota je 30 ° C „? - @Viesturs: Ne. Význam
\ang
je úhel, takže bych ho ‚ nezneužil na teplotu. Použil bych\SI{30}{\celsius}
. - S vaším prvním příkladem: Pamatuji si, že
siunitx
používá$^\circ$
berle pro jeho stupně (z důvodů kompatibility), které podle mého názoru často nevypadají velmi dobře k použitému písmu (příliš tenké čáry) velký kruh). Takže mám tendenci předefinovat příslušnésiunitx
symbolické příkazy pro mé potřeby, obvykle vhodný znak unicode. - @lblb můžete k tomu přidat příklad jako další odpověď , prosím?
- @ K.-Michael Aye: Hotovo.
Odpověď
Následující ukázkový kód slouží k ukázce, že siunitx
používá také ošklivou $^\circ$
konstrukci (z důvodů kompatibility). Většina písem má symbol stupně pro úhly (U+00B0 DEGREE SIGN
) a některá mají symbol stupně Celsia pro teploty (U+2103 DEGREE CELSIUS
, výstup \textcelsius
v mém příkladu) a tyto symboly by obvykle lépe odpovídaly šířkám čar písma.
Můj příklad také ukazuje, že symbol jednoho stupně a ten, který je součástí glyf speciálního stupně Celsia nemusí být stejný, takže osobně bych jej odpovídajícím způsobem předefinoval, když v práci použiji oba, viz druhý řádek.
Kompilovat s XeLaTeX nebo 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}
Komentáře
- I ‚ si nejsem jistý, jak měříte ‚ většina ‚ písma: klasická TeXová obvykle nemají symbol stupně. Na stupni Celsia je jediný kódový bod Unicode znakem kompatibility aa rozkládá se es to ‚ stupeň ‚ + ‚ písmeno C ‚.
- @Joseph Wright: Psal jsem ze zkušeností s fonty jiných než TeX, že všechna, s nimiž jsem ‚ narazil, mají ° (stupeň) symbol. Se stupněm Celsia porovnává druhý řádek v mém příkladu
°
+C
s jediným glyfem a vypadají jinak (s CM font, nebyl ‚ testován na jiné). Toto jsou jen moje závěry, ‚ na to nejsem odborník.
Odpovědět
K dispozici je také gensymb
balíček. Dávám přednost tomu, protože poskytuje pouze symbol pro oba textové / matematické režimy a můžete s ním dělat vše, co chcete.
Příklad:
\usepackage{gensymb} % ... $20 \degree$
Komentáře
- Miluji tuto jednoduchou a praktickou odpověď!
Odpověď
Symbol je U + 00B0 v Unicode a kódování TS1 jej obsahuje, pokud chcete použít starší NFSS. Standardní příkaz pro něj je \textdegree
a je definován buď textcomp
nebo fontspec
.Můžete jej také zadat do zdrojového souboru UTF-8 nebo použít inputenc
k deklaraci jiného kódování vstupu. Podporují to prakticky všechna textová písma.
Příklad:
\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}
Pro znak ℃ existuje také \textcelsius
div> (U + 2103), ale (od poslední kontroly), aby PDFLaTeX rozpoznal na vstupu znak UTF-8, musíte přidat příkaz \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Odpověď
°
můžete použít přímo s
\usepackage{textcomp}
Příklad:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Komentáře
- Ve skutečnosti
textcomp
stačí . Od roku 2018 jeutf8
předdefinované vstupní kódování a ‚ najdete\DeclareUnicodeCharacter{00B0}{\textdegree}
vutf8enc.dfu
. AFAIK dnes v zásadě nemá žádný užitek progensymb
. - Ups, edited, good
- Jak na klávesnici psát ° symbol?
- v závislosti na rozložení klávesnice, můžete vložit pomocí
Alt
+248
, pokud máte klávesnici USA InternationalSHIFT
+CTRL
+ALT
+;
| Nejlepší v klávesnici LatamSHIFT
+`
- V počítačích Mac používáte
command
+control
+space
a stačí vyhledat glyfy stupňů.
Odpověď
Navrhoval bych poměrně krátké a jednoduché řešení, aniž bych pro tento účel použil další a / nebo speciální balíčky. V preambuli definujte následující: \renewcommand{\deg}{$^\circ$}
Jelikož je \deg
vyhrazené slovo, musí být pro toto předefinování účel. V mém použití jsem zatím neviděl žádnou překážku.
Později v textu můžete jednoduše napsat The angle is 30\deg.
Komentáře
- Ne, nemyslím ‚
\deg
(což je k tomu by měl být předefinován funkční symbol). Váš příkaz selže i v matematickém režimu … Preferovaným způsobem by dnes měl býtsiunitx
. Kromě toho váš návrh již vytvořil O.P., kromě zabalení do makra.
The angle is $30^\circ$.
není nic špatného a výstup je stejný jakosiunitx
‚ s.\degree
.siunitx
to dělá z důvodů kompatibility. Pokud se tedy někdo snaží o lepší vzhled, je nejlepší je předefinovat.