¿Cómo utilizar automáticamente la fuente de máquina de escribir en matrices?

¿Cómo utilizar automáticamente la fuente de máquina de escribir en matrices?

Estoy intentando escribir un guión sobre lógica formal. El código fuente se parece a esto:

some text...

\[
\begin{array}[]{c | c}
p   &   (\lnot p) \\ \hline
1   &   0 \\
0   &   1 \\
\end{array}
\]

some more text...

¿Cómo puedo lograr que el texto dentro de la matriz esté escrito en fuente de máquina de escribir? Probé algo como esto, que funciona bien:

\[
\begin{array}[]{c | c}
\texttt{p}   &   \texttt{($\lnot$ p)} \\ \hline
\texttt{1}   &   \texttt{0} \\
\texttt{0}   &   \texttt{1} \\
\end{array}
\]

El problema es que es mucho trabajo y poco dinámico. Entonces, si quisiera volver a cambiarla a una fuente normal, tendría que eliminar todo yo mismo. ¿Existe una solución elegante para esto?

¡Gracias!

Respuesta1

¿Algo como esto?

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{T}{>{\ttfamily}c} 

\begin{document}
\begin{center}
\begin{tabular}{ T | T }
p  & ($\lnot$p) \\ 
\hline
1  & 0 \\
0  & 1 \\
\end{tabular}
\end{center}
\end{document}

Dado que \ttfamilyes un comando en modo texto, sugiero emplear un tabularentorno en lugar de un arrayentorno.

Respuesta2

Creo que podrías tener unproblema XYaquí.

Con muchas fuentes OpenType, podrás usar el comando

\addfontfeatures{Numbers={Monospaced,Lining}}

para obtener números de ancho fijo en una fuente más atractiva. Podrías envolver esto en un entorno, como por ejemplo:

\newenvironment{arraymono}%
  {\begingroup\addfontfeatures{Numbers={Monospaced,Lining}}\begin{array}}%
  {\end{array}\endgroup}

También puede resultarle útil aquí el espacio de figuras Unicode, que es exactamente tan ancho como un dígito tabular:

\newcommand\figspace{^^^^2007}

información relacionada