Chcete-li mít následující výstup zahrnující symbol stupně

zde zadejte popis obrázku

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

  • Podívejte se na Jak vložit symbol stupně Celsia do textu uzlu v pgfplots / tikz?
  • S The angle is $30^\circ$. není nic špatného a výstup je stejný jako siunitx ‚ s.
  • Představoval jsem si něco jako \degree.
  • @AboAmmar: Viz moje odpověď, siunitx to dělá z důvodů kompatibility. Pokud se tedy někdo snaží o lepší vzhled, je nejlepší je předefinovat.

Odpověď

Použil bych siunitx a tak sémantický příkaz:

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

zde zadejte popis obrázku

Můžete ale také načíst textcomp

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

zde zadejte popis obrázku

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} 

snímek obrazovky

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} 

Ukázkový obrázek

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} 

Zkompilované

Komentáře

  • Ve skutečnosti textcomp stačí . Od roku 2018 je utf8 předdefinované vstupní kódování a ‚ najdete \DeclareUnicodeCharacter{00B0}{\textdegree} v utf8enc.dfu. AFAIK dnes v zásadě nemá žádný užitek pro gensymb.
  • 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 International SHIFT + CTRL + ALT + ; | Nejlepší v klávesnici Latam SHIFT + `
  • 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ýt siunitx. Kromě toho váš návrh již vytvořil O.P., kromě zabalení do makra.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *