Aby następujący wynik zawierał symbol stopnia

tutaj wprowadź opis obrazu

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

  • Spójrz na Jak wstawić symbol stopni Celsjusza w tekście węzła w pgfplots / tikz?
  • Nie ma nic złego w The angle is $30^\circ$., a wynik jest taki sam, jak siunitx ' s.
  • Wyobrażałem sobie coś takiego jak \degree.
  • @AboAmmar: Zobacz moją odpowiedź, siunitx robi to ze względu na kompatybilność. Więc jeśli ktoś dąży do lepszego wyglądu, najlepiej jest zmienić ich definicję.

Odpowiedź

Użyłbym siunitx i tak polecenie semantyczne:

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

tutaj wprowadź opis obrazu

Ale możesz też załadować textcomp

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

tutaj wprowadź opis obrazu

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 odpowiednich siunitx 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} 

zrzut ekranu

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} 

Przykładowy obraz

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} 

Skompilowane

Komentarze

  • Właściwie textcomp wystarczy . Od 2018 roku utf8 to wstępnie zdefiniowane kodowanie wejściowe, a ' znajdziesz \DeclareUnicodeCharacter{00B0}{\textdegree} w utf8enc.dfu. AFAIK w dzisiejszych czasach w zasadzie nie ma zastosowania gensymb.
  • 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ńskiej SHIFT + `
  • 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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *