Para ter a seguinte saída envolvendo o símbolo de grau
Posso tentar
\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document}
No entanto, é uma maneira difícil de obter o símbolo de grau – reverte-se para o modo matemático e converte um símbolo existente em sobrescrito.
Existe uma maneira direta de obter o símbolo de grau?
Comentários
Resposta
Eu usaria siunitx e assim um comando semântico:
\documentclass{report} \usepackage{siunitx} \begin{document} The angle is \ang{30}. \end{document}
Mas você também pode carregar textcomp
\documentclass{report} \usepackage{siunitx} \usepackage{textcomp} \begin{document} The angle is 30\textdegree. \end{document}
Comentários
- Você ainda usaria
\ang
se o texto era ” A temperatura é 30 graus C “? - @Viesturs: Não. O significado de
\ang
é ângulo, então eu não ‘ o usaria indevidamente para uma temperatura. Eu usaria\SI{30}{\celsius}
. - Com o seu primeiro exemplo: lembro-me de que
siunitx
usa o$^\circ$
muleta para seus símbolos de grau (por motivos de compatibilidade), que eu acho que muitas vezes não ‘ parecem muito adequados à fonte em uso (linhas muito finas também grande círculo). Portanto, tendo a redefinir os comandos de símbolosiunitx
apropriados para minhas necessidades, geralmente o caractere Unicode apropriado. - @lblb você poderia adicionar um exemplo com isso como outra resposta , por favor?
- @ K.-Michael Aye: Feito.
Resposta
O código de exemplo a seguir serve para mostrar que siunitx
também usa a feia construção $^\circ$
(por motivos de compatibilidade). A maioria das fontes tem um símbolo de graus para ângulos (U+00B0 DEGREE SIGN
) e algumas têm um símbolo de graus Celsius para temperaturas (U+2103 DEGREE CELSIUS
, saída de \textcelsius
em meu exemplo) e esses símbolos normalmente se ajustariam melhor às larguras de linha da fonte.
Meu exemplo também mostra que o símbolo de grau único e aquele incluído no O glifo de grau Celsius especial não precisa ser o mesmo, então eu pessoalmente o redefiniria de acordo quando estiver usando ambos em um trabalho, consulte a segunda linha.
Compile com XeLaTeX ou 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}
Comentários
- Eu ‘ não tenho certeza de como você avalia ‘ a maioria das ‘ fontes: as clássicas TeX normalmente não têm um símbolo de grau. Em graus Celsius, o único ponto de código Unicode é um caractere de compatibilidade e se decompõe es para ‘ grau ‘ + ‘ letra C ‘.
- @Joseph Wright: Escrevi por experiência com fontes não TeX, que todas as que ‘ encontrei têm o ° símbolo (grau). Com o grau Celsius, a segunda linha em meu exemplo compara
°
+C
com o glifo único e eles parecem diferentes (com o CM fonte, não ‘ t testado outras). Estas são apenas minhas conclusões, eu ‘ não sou um especialista nisso.
Resposta
Também existe um pacote gensymb
. Eu prefiro, pois fornece apenas um símbolo para os modos de texto / matemático e você pode fazer tudo o que quiser com ele.
Exemplo:
\usepackage{gensymb} % ... $20 \degree$
Comentários
- Adoro esta resposta simples e prática!
Resposta
O símbolo é U + 00B0 em Unicode e a codificação TS1 o contém se você quiser usar o NFSS legado. O comando padrão para isso é \textdegree
e é definido por textcomp
ou fontspec
.Você também pode inseri-lo em seu arquivo de origem UTF-8 ou usar inputenc
para declarar uma codificação de entrada diferente. Praticamente todas as fontes de texto o suportam.
Exemplo:
\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}
Também há \textcelsius
para o caractere ℃ (U + 2103), mas (desde a última vez que verifiquei) para fazer o PDFLaTeX reconhecer o caractere UTF-8 na entrada, você deve adicionar o comando \DeclareUnicodeCharacter{"2103}{\textcelsius}
.
Resposta
Você pode usar °
diretamente com
\usepackage{textcomp}
Exemplo:
\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document}
Comentários
- Na verdade
textcomp
é o suficiente . Desde 2018utf8
é a codificação de entrada predefinida, e você ‘ encontrará\DeclareUnicodeCharacter{00B0}{\textdegree}
emutf8enc.dfu
. AFAIK hoje em dia basicamente não há uso paragensymb
. - Ups, editado, bom
- Como digitar no teclado o ° símbolo?
- depende do layout de seu teclado, você pode inserir
Alt
+248
, se você tiver teclado internacional dos EUASHIFT
+CTRL
+ALT
+;
| Melhor no teclado latinoSHIFT
+`
- Em um Mac, você usa
command
+control
+space
e apenas pesquise o glifo de grau.
Resposta
Eu sugeriria uma solução bastante curta e simples, sem usar pacotes adicionais e / ou especiais para esse propósito. No preâmbulo, defina o seguinte: \renewcommand{\deg}{$^\circ$}
Como \deg
é uma palavra reservada, deve ser redefinida para isso propósito. No meu uso, ainda não vi nenhum obstáculo para fazer isso.
Posteriormente, no texto, você pode simplesmente digitar The angle is 30\deg.
Comentários
- Não, eu não ‘ acho
\deg
(que é um símbolo de função) deve ser redefinido para isso. Seu comando falhará no modo matemático também … A forma preferida hoje em dia deve sersiunitx
. Além de tudo, sua proposição já foi feita pelo O.P., além de envolvê-la em uma macro.
The angle is $30^\circ$.
e a saída é a mesma quesiunitx
‘ s.\degree
.siunitx
faz isso por motivos de compatibilidade. Portanto, se alguém se esforça para ter uma aparência melhor, é melhor redefini-las.