Estou tentando escrever um script sobre lógica formal. O código-fonte é mais ou menos assim:
some text...
\[
\begin{array}[]{c | c}
p & (\lnot p) \\ \hline
1 & 0 \\
0 & 1 \\
\end{array}
\]
some more text...
Como posso fazer com que o texto dentro do array seja escrito em fonte de máquina de escrever? Eu tentei algo assim, que funciona bem:
\[
\begin{array}[]{c | c}
\texttt{p} & \texttt{($\lnot$ p)} \\ \hline
\texttt{1} & \texttt{0} \\
\texttt{0} & \texttt{1} \\
\end{array}
\]
O problema é que dá muito trabalho e não é dinâmico. Portanto, se eu quiser voltar para uma fonte normal, precisarei remover tudo sozinho. Existe uma solução elegante para isso?
Obrigado!
Responder1
Algo assim?
\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}
Como \ttfamily
é um comando em modo texto, sugiro empregar um tabular
ambiente em vez de um array
ambiente.
Responder2
Eu acho que você pode ter umProblema XYaqui.
Com muitas fontes OpenType, você poderá usar o comando
\addfontfeatures{Numbers={Monospaced,Lining}}
para obter números de largura fixa em uma fonte mais atraente. Você pode agrupar isso em um ambiente, como:
\newenvironment{arraymono}%
{\begingroup\addfontfeatures{Numbers={Monospaced,Lining}}\begin{array}}%
{\end{array}\endgroup}
Você também pode achar o espaço de figuras Unicode, que é exatamente tão largo quanto um dígito tabular, útil aqui:
\newcommand\figspace{^^^^2007}