我正在尝试编写一个基于形式逻辑的脚本。源代码如下所示:
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}