我希望以下内容采用fixed-width
(ie monospace
) 字体,这样我就可以将各种表达方式很好地排列起来,以便(可能经过一些操作)使它们的相似点和不同点更加明显和立即显现出来。
不过我确实喜欢这个字体,所以如果有类似的字体,即等宽字体,或者某种量化方法;一种强制每个字符占据相同空间的方法;那就太理想了。我不抱太大希望,只是说如果能有就好了。
\documentclass[border=5mm,varwidth]{standalone}
\begin{document}
$(x+y)'=x'y'$\\
$\neg(p\vee q)\leftrightarrow\neg p\wedge\neg q$\\
$(A\cup B)^c=A^c\cap$ $B^c$\\
\\
$(xy)'=x'+y'$\\
$\neg(p\wedge q)\leftrightarrow\neg p\vee\neg q$\\
$(A\cap B)^c=A^c\cup B^c$\\
\end{document}
答案1
如果我理解正确的话,你希望它易于比较。因此,这里有两个建议(如果你不喜欢其中任何一个,我会删除我的帖子):
代码:
\documentclass{article}
\usepackage{mathtools}
\usepackage{array}
\begin{document}
\begin{align*}
(x+y)' &= x'y'\\
\neg(p\vee q) &\leftrightarrow \neg p\wedge\neg q\\
(A\cup B)^c &= A^c\cap B^c\\[\baselineskip]
x' + y' &= (xy)'\\
\neg(p\wedge q) &\leftrightarrow \neg p\vee\neg q\\
(A\cap B)^c &= A^c\cup B^c
\end{align*}
\vfill
\begin{tabular}{*{2}{>{\(}r<{\)}@{\hskip.25em}>{\(}c<{\)}@{\hskip.25em}>{\(}l<{\)}}}
(x+y)' &=& x'y' & x' + y' &=& (xy)'\\
\neg(p\vee q) &\leftrightarrow& \neg p\wedge\neg q & \neg(p\wedge q) &\leftrightarrow& \neg p\vee\neg q\\
(A\cup B)^c &=& A^c\cap B^c & (A\cap B)^c &=& A^c\cup B^c
\end{tabular}
\end{document}
答案2
你可能像这样:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\fsmath}{m}
{
\tl_map_inline:nn { #1 } { \makebox[1.2em]{$##1$} }
}
\ExplSyntaxOff
\begin{document}
\begin{align*}
& \fsmath{(x+y)'=x'y'} \\
& \fsmath{\neg(p\vee q)\leftrightarrow\neg p\wedge\neg q} \\
& \fsmath{(A\cap B){^c}=A{^c}\cup B{^c}}
\end{align*}
\end{document}
答案3
对您的问题的字面回答:从技术上讲,是可行的,使用unicode-math
,加载 TeX Gyre DejaVu 数学作为您的数学字体,然后使用 选项将 DejaVu Sans Mono 中的字母、数字和符号加载到其range=
上\setmathfont
。
但是,这不会达到您想要的效果,因为下标、大运算符、间距等不会是等宽的。这是一个 XY 问题。