Aby następujący wynik zawierał symbol stopnia
Mogę spróbować
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
Jednak to jest niezręcznym sposobem uzyskania symbolu stopnia – wraca się do trybu matematycznego i rzutuje istniejący symbol na indeks górny.
Czy istnieje prosty sposób uzyskania symbolu stopnia?
Komentarze
Odpowiedź
Użyłbym siunitx i tak polecenie semantyczne:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Ale możesz też załadować textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Komentarze
- Czy nadal używałbyś
\ang
, jeśli tekst był ” Temperatura wynosi 30 st. C „? - @Viesturs: Nie. Znaczenie
\ang
to kąt, więc nie ' nie użyłbym go do określenia temperatury. Użyłbym\SI{30}{\celsius}
. - W pierwszym przykładzie: pamiętam, że
siunitx
używa$^\circ$
ze względu na symbole stopni (ze względu na kompatybilność), które często nie ' nie wyglądają zbyt dobrze do używanej czcionki (zbyt cienkie linie też duże koło). Dlatego mam tendencję do redefiniowania odpowiednichsiunitx
poleceń symboli dla moich potrzeb, zwykle odpowiednich znaków Unicode. - @lblb czy możesz dodać przykład z tym jako kolejną odpowiedź proszę?
- @ K.-Michael Aye: Gotowe.
Odpowiedź
Poniższy przykładowy kod pokazuje, że siunitx
również używa brzydkiej konstrukcji $^\circ$
(ze względu na zgodność). Większość czcionek ma symbol stopni dla kątów (U+00B0 DEGREE SIGN
), a niektóre mają symbol stopni Celsjusza oznaczający temperatury (U+2103 DEGREE CELSIUS
, wyjście \textcelsius
w moim przykładzie) i te symbole zwykle lepiej pasowałyby do szerokości linii czcionki.
Mój przykład pokazuje również, że symbol jednego stopnia i ten zawarty w Specjalny glif Celsjusza nie musi być taki sam, więc osobiście przedefiniowałbym go odpowiednio, kiedy używam obu w pracy, zobacz drugą linię.
Skompiluj z XeLaTeX lub 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}
Komentarze
- Nie ' Nie wiem, jak mierzysz ' większość ' czcionek: klasyczne czcionki TeX zwykle nie mają symbolu stopnia. W stopniach Celsjusza pojedynczy punkt kodowy Unicode jest znakiem zgodności i rozkłada es do ' stopień ' + ' litera C '.
- @Joseph Wright: Na podstawie doświadczenia z czcionkami innymi niż TeX napisałem, że wszystkie ', z którymi się spotkałem, mają ° (stopień). Drugi wiersz w moim przykładzie ze stopniem Celsjusza porównuje
°
+C
z pojedynczym glifem i wyglądają one inaczej (z CM font, Haven ' t testowałem inne). To tylko moje wnioski, ' nie jestem ekspertem w tej dziedzinie.
Odpowiedź
Istnieje również pakiet gensymb
. Wolę to, ponieważ zapewnia tylko symbol dla obu trybów tekstowych / matematycznych i możesz z nim zrobić wszystko, co chcesz.
Przykład:
\usepackage{gensymb} % ... $20 \degree$
Komentarze
- Uwielbiam tę prostą i praktyczną odpowiedź!
Odpowiedź
Symbol to U + 00B0 w Unicode, a kodowanie TS1 zawiera go, jeśli chcesz używać starszego NFSS. Standardowe polecenie dla niego to \textdegree
i jest zdefiniowane przez textcomp
lub fontspec
.Możesz również wprowadzić go do pliku źródłowego UTF-8 lub użyć inputenc
, aby zadeklarować inne kodowanie wejściowe. Obsługują go praktycznie wszystkie czcionki tekstu.
Przykład:
\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}
Istnieje również \textcelsius
dla znaku ℃ (U + 2103), ale (ostatnio sprawdzałem), aby PDFLaTeX rozpoznawał znak UTF-8 na wejściu, musisz dodać polecenie \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Odpowiedź
Możesz użyć °
bezpośrednio z
\usepackage{textcomp}
Przykład:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Komentarze
- Właściwie
textcomp
wystarczy . Od 2018 rokuutf8
to wstępnie zdefiniowane kodowanie wejściowe, a ' znajdziesz\DeclareUnicodeCharacter{00B0}{\textdegree}
wutf8enc.dfu
. AFAIK w dzisiejszych czasach w zasadzie nie ma zastosowaniagensymb
. - Ups, zredagowane, dobrze
- Jak wpisać na klawiaturze ° symbol?
- zależy od układu klawiatury, możesz wstawić za pomocą
Alt
+248
, jeśli masz amerykańską klawiaturę międzynarodowąSHIFT
+CTRL
+ALT
+;
| Najlepsza na klawiaturze dla Ameryki ŁacińskiejSHIFT
+`
- Na Macu używasz
command
+control
+space
i po prostu wyszukaj glif stopnia.
Odpowiedź
Sugerowałbym dość krótkie i proste rozwiązanie, bez używania do tego celu dodatkowych i / lub specjalnych pakietów. W preambule zdefiniuj co następuje: \renewcommand{\deg}{$^\circ$}
Ponieważ \deg
jest słowem zastrzeżonym, w tym celu należy je przedefiniować cel, powód. W moim przypadku nie widziałem jeszcze żadnej przeszkody w tym.
Później w tekście możesz po prostu wpisać The angle is 30\deg.
Komentarze
- Nie, nie ' nie myślę
\deg
(czyli w tym celu należy przedefiniować symbol funkcji). Twoje polecenie zakończy się niepowodzeniem również w trybie matematycznym … Obecnie preferowanym sposobem powinno byćsiunitx
. Poza tym twoja propozycja została już wykonana przez OP, poza opakowaniem jej w makro.
The angle is $30^\circ$.
, a wynik jest taki sam, jaksiunitx
' s.\degree
.siunitx
robi to ze względu na kompatybilność. Więc jeśli ktoś dąży do lepszego wyglądu, najlepiej jest zmienić ich definicję.