Caracteres escapados en fuente de máquina de escribir

Caracteres escapados en fuente de máquina de escribir

Conozco varias formas de solucionar este problema (p. ej. \usepackage[T1]{fontenc}), pero quiero entender qué sucede en el siguiente ejemplo.

\documentclass{article}
\begin{document}
\noindent
\$ \% \& \{ \} \_ \# \textbackslash \\
\ttfamily \$ \% \& \{ \} \_ \# \textbackslash \\
\verb+$ % & { } _ # \ +
\end{document}

personajes escapados

  • ¿Por qué intentar obtener una \ttfamilyllave, un guión bajo o una barra invertida da como resultado la sustitución del símbolo romano ordinario? Los glifos claramente no faltan, porque se puede acceder a ellos en modo textual.

  • ¿Cómo accede exactamente el modo palabra por palabra a estos glifos?

  • Al eliminar las llaves y la barra invertida, de modo que el guión bajo sea el único carácter "problemático" restante, se eliminan las advertencias de fuente, a pesar de que todavía se está realizando una sustitución. ¿Por qué es esto?

Respuesta1

\verby verbatimsupongamos que la fuente tiene estos caracteres en sus posiciones ascii y localmente hace que los caracteres sean catcode 12 (como puntuación) sin una definición especial.

\textbackslash(y amigos) se define como un comando de codificación específica y (para fingir un aire de cordura sobre las codificaciones TeX originales) LaTeX asume que OT1la codificación es cmr10cuya codificación no tiene un carácter de barra invertida. Entonces, en OTla definición predeterminada se usa (que usa las fuentes matemáticas). \ttfamilycambia la familia pero no la codificación y, en ese caso, obtiene la definición OT1 aunque la cmttfuente esté realmente codificada de manera diferente.

Las cosas funcionan mejor T1porque las fuentes etiquetadas como codificadas T1 de hecho tienen la misma codificación.

\_es diferente porque \textunderscoretiene una definición predeterminada que no usa ninguna fuente sino una regla horizontal.

información relacionada