Wie verwende ich automatisch Schreibmaschinenschriften in Arrays?

Wie verwende ich automatisch Schreibmaschinenschriften in Arrays?

Ich versuche, ein Skript zur formalen Logik zu schreiben. Der Quellcode sieht ungefähr so ​​aus:

some text...

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

some more text...

Wie kann ich erreichen, dass der Text im Array in Schreibmaschinenschrift geschrieben wird? Ich habe es so probiert, und das funktioniert gut:

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

Das Problem ist, dass es viel Arbeit macht und nicht dynamisch ist. Wenn ich es also wieder in eine normale Schriftart ändern möchte, müsste ich alles selbst entfernen. Gibt es dafür eine elegante Lösung?

Danke schön!

Antwort1

Etwas wie das?

Bildbeschreibung hier eingeben

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

Da \ttfamilyes sich um einen Textmodusbefehl handelt, schlage ich vor, eine tabularUmgebung anstelle einer arrayUmgebung zu verwenden.

Antwort2

Ich glaube, Sie haben möglicherweise eineXY-ProblemHier.

Bei vielen OpenType-Schriftarten können Sie den Befehl

\addfontfeatures{Numbers={Monospaced,Lining}}

um Zahlen mit fester Breite in einer attraktiveren Schriftart zu erhalten. Sie können dies in eine Umgebung einbetten, wie zum Beispiel:

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

Auch der Unicode-Ziffernraum, der genau so breit ist wie eine Tabellenziffer, könnte für Sie hier hilfreich sein:

\newcommand\figspace{^^^^2007}

verwandte Informationen