配列内でタイプライターフォントを自動的に使用するにはどうすればよいでしょうか?

配列内でタイプライターフォントを自動的に使用するにはどうすればよいでしょうか?

形式論理に関するスクリプトを書こうとしています。ソース コードは次のようになります。

some text...

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

some more text...

配列内のテキストをタイプライター フォントで書き込むにはどうすればよいですか? 次のように試してみましたが、問題なく動作します。

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

問題は、作業量が多く、動的ではないことです。そのため、通常のフォントに戻したい場合は、自分ですべてを削除する必要があります。これに対するエレガントな解決策はありますか?

ありがとう!

答え1

このようなもの?

ここに画像の説明を入力してください

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

\ttfamilyはテキスト モード コマンドなので、環境ではなく環境を使用することをお勧めしtabularますarray

答え2

あなたはXY問題ここ。

多くのOpenTypeフォントでは、次のコマンドを使用できます。

\addfontfeatures{Numbers={Monospaced,Lining}}

固定幅の数字をより魅力的なフォントで表示します。これを次のような環境でラップすることもできます。

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

また、表形式の数字とまったく同じ幅の Unicode 数字スペースも、ここでは役立つかもしれません。

\newcommand\figspace{^^^^2007}

関連情報