Para tener la siguiente salida que involucre el símbolo de grado

ingrese la descripción de la imagen aquí

Puedo intentar

\documentclass{report} \begin{document} The angle is 30$^\circ$. \end{document} 

Sin embargo, esto Es una forma incómoda de obtener el símbolo de grado: uno vuelve al modo matemático y convierte un símbolo existente en superíndice.

¿Existe una forma sencilla de obtener el símbolo de grado?

Comentarios

Respuesta

Yo usaría siunitx y así un comando semántico:

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

ingrese la descripción de la imagen aquí

Pero también puede cargar textcomp

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

ingrese la descripción de la imagen aquí

Comentarios

  • ¿Seguiría usando \ang si el texto era » La temperatura es 30 grados C «?
  • @Viesturs: No. El significado de \ang es ángulo, por lo que no ‘ lo usaría incorrectamente para determinar la temperatura. Yo usaría \SI{30}{\celsius}.
  • Con su primer ejemplo: recuerdo que siunitx usa el $^\circ$ muleta por sus símbolos de grado (por razones de compatibilidad), que encuentro que a menudo no ‘ no parece muy apropiado para la fuente en uso (líneas demasiado delgadas, también círculo grande). Así que tiendo a redefinir los comandos de símbolo siunitx apropiados para mis necesidades, generalmente el carácter Unicode apropiado.
  • @lblb ¿podría agregar un ejemplo con eso como otra respuesta? , por favor.
  • @ K.-Michael Aye: Listo.

Responder

El siguiente código de ejemplo sirve para mostrar que siunitx también usa la construcción $^\circ$ fea (por razones de compatibilidad). La mayoría de las fuentes tienen un símbolo de grados para los ángulos (U+00B0 DEGREE SIGN) y algunas tienen un símbolo de grados Celsius para las temperaturas (U+2103 DEGREE CELSIUS, generado por \textcelsius en mi ejemplo) y estos símbolos normalmente encajarían mejor con los anchos de línea de la fuente.

Mi ejemplo también muestra que el símbolo de un solo grado y el incluido en el El glifo de grado Celsius especial no tiene que ser el mismo, por lo que personalmente lo redefiniría en consecuencia cuando esté usando ambos en un trabajo, vea la segunda línea.

Compile con XeLaTeX o 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} 

captura de pantalla

Comentarios

  • Yo ‘ no estoy seguro de cómo mides ‘ la mayoría de ‘ fuentes: las clásicas TeX normalmente no tienen un símbolo de grado. En grados Celsius, el único punto de código Unicode es un carácter de compatibilidad, y descompone es hasta ‘ grado ‘ + ‘ letra C ‘.
  • @Joseph Wright: Escribí por experiencia con fuentes que no son TeX, que todas las que ‘ he encontrado tienen el ° símbolo (grado). Con el grado Celsius, la segunda línea de mi ejemplo compara ° + C con el glifo único, y se ven diferentes (con el CM font, haven ‘ t probé otros). Estas son solo mis conclusiones, yo ‘ no soy un experto en esto.

Respuesta

También hay un paquete gensymb . Lo prefiero, ya que proporciona solo un símbolo para ambos modos de texto / matemático, y puedes hacer todo lo que quieras con él.

Ejemplo:

\usepackage{gensymb} % ... $20 \degree$ 

Comentarios

  • ¡Me encanta esta respuesta sencilla y práctica!

Respuesta

El símbolo es U + 00B0 en Unicode, y la codificación TS1 lo contiene si desea utilizar NFSS heredado. El comando estándar es \textdegree y está definido por textcomp o fontspec.También puede ingresarlo en su archivo fuente UTF-8, o usar inputenc para declarar una codificación de entrada diferente. Prácticamente todas las fuentes de texto lo admiten.

Ejemplo:

\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} 

Imagen de muestra

También hay \textcelsius para el carácter ℃ (U + 2103), pero (desde la última vez que verifiqué) para que PDFLaTeX reconozca el carácter UTF-8 en la entrada, debe agregar el comando \DeclareUnicodeCharacter{"2103}{\textcelsius}.

Responder

Puede usar ° directamente con

\usepackage{textcomp} 

Ejemplo:

\documentclass{article} \usepackage{textcomp} \begin{document} I love 25 °C in my room \end{document} 

Compilado

Comentarios

  • De hecho, textcomp es suficiente . Desde 2018 utf8 es la codificación de entrada predefinida, y ‘ encontrarás \DeclareUnicodeCharacter{00B0}{\textdegree} en utf8enc.dfu. AFAIK hoy en día básicamente no hay uso para gensymb.
  • Ups, editado, bueno
  • Cómo escribir en el teclado el ° símbolo?
  • depende de la distribución de su teclado, puede insertar Alt + 248, si tienes un teclado internacional de EE. UU. SHIFT + CTRL + ALT + ; | Mejor en teclado latinoamericano SHIFT + `
  • En una Mac, usa command + control + space y solo busca el glifo de grado.

Respuesta

Sugeriría una solución bastante corta y simple, sin usar paquetes adicionales y / o especiales para ese propósito. En el preámbulo defina lo siguiente: \renewcommand{\deg}{$^\circ$}

Como \deg es una palabra reservada, debe redefinirse para esto objetivo. En mi uso, todavía no he visto ningún obstáculo para hacer eso.

Más adelante, en el texto, simplemente puede escribir The angle is 30\deg.

Comentarios

  • No, no ‘ no creo \deg (que es un símbolo de función) debe redefinirse para ello. Su comando también fallará en el modo matemático … La forma preferida hoy en día debería ser siunitx. Además de todo, tu propuesta ya ha sido realizada por O.P., además de envolverla en una macro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *