![我对 Latex 比较陌生,想知道格式化此类问题的最简单方法是什么?](https://linux22.com/image/457027/%E6%88%91%E5%AF%B9%20Latex%20%E6%AF%94%E8%BE%83%E9%99%8C%E7%94%9F%EF%BC%8C%E6%83%B3%E7%9F%A5%E9%81%93%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%AD%A4%E7%B1%BB%E9%97%AE%E9%A2%98%E7%9A%84%E6%9C%80%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
答案1
这里有三种方法。第一种使用tabular
(不需要包)。第二种使用aligned
(需要amsmath
),第三种使用align*
(也使用amsmath
)。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$x\in(\overline{A}\cup\overline{B})\setminus (A\cap B)$
\[
\begin{tabular}{ll}
$\equiv(x\in\overline{A}\cup\overline{B})\land\lnot(x\in A\cap B)$ & \textsf{Def of Difference}\\
$\equiv((x\in\overline{A})\vee x\in\overline{B})\land(\lnot(x\in A\cup B)$ & \textsf{Def of Union}\\
$\equiv(\cdots$ & \textsf{Def of \dots}
\end{tabular}
\]
\vspace{1cm}
$x\in(\overline{A}\cup\overline{B})\setminus (A\cap B)$
\[
\begin{aligned}
&\equiv(x\in\overline{A}\cup\overline{B})\land\lnot(x\in A\cap B) && \textsf{Def of Difference}\\
&\equiv((x\in\overline{A})\vee x\in\overline{B})\land(\lnot(x\in A\cup B) && \textsf{Def of Union}\\
&\equiv(\cdots && \textsf{Def of \dots}
\end{aligned}
\]
\vspace{1cm}
$x\in(\overline{A}\cup\overline{B})\setminus (A\cap B)$
\begin{align*}
&\equiv(x\in\overline{A}\cup\overline{B})\land\lnot(x\in A\cap B) && \textsf{Def of Difference}\\
&\equiv((x\in\overline{A})\vee x\in\overline{B})\land(\lnot(x\in A\cup B) && \textsf{Def of Union}\\
&\equiv(\cdots && \textsf{Def of \dots}
\end{align*}
\end{document}
答案2
您想确保 TeX 能将所有内容保存在一起。
\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{lipsum} % for mock text
\newcommand{\justif}[1]{\textsf{#1}}
\newcommand{\cmpl}[1]{\overline{#1}}
\begin{document}
\lipsum*[1][1-4]
\begin{equation*}
\begin{aligned}
\MoveEqLeft x\in (\cmpl{A}\cup\cmpl{B})\setminus(A\cap B) \\[1ex]
&\equiv (x\in\cmpl{A}\cup\cmpl{B})\land\lnot(x\in A\cap B)
&& \justif{Def of Difference} \\
&\equiv ((x\in\cmpl{A})\lor(x\in\cmpl{B}))\land\lnot(x\in A\cap B)
&& \justif{Def of Union} \\
&\equiv (\lnot(x\in A)\lor\lnot(x\in B))\land\lnot(x\in A\cap B)
&& \justif{Def of Complement} \\
&\equiv \lnot((x\in A)\land(x\in B))\land\lnot(x\in A\cap B)
&& \justif{De Morgan} \\
&\equiv \lnot(x\in A\cap B)\land\lnot(x\in A\cap B)
&& \justif{Def of Intersection} \\
&\equiv \lnot(x\in A\cap B)
&& \justif{Idempotence} \\
&\equiv x\in\cmpl{A\cap B}
&& \justif{Def of Complement}
\end{aligned}
\end{equation*}
\lipsum[2]
\end{document}
如果你替换为
\begin{flalign*}
\quad
\MoveEqLeft x\in (\cmpl{A}\cup\cmpl{B})\setminus(A\cap B) \\[1ex]
<the same code as before follows>
\end{align*}
你得到
为什么命令\justif
和\compl
?假设你或你的合著者发现\overline
不好看(例如,我就是这么认为的)。你可以决定尝试不同的符号。改成
\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{lipsum} % for mock text
% widebar, see https://tex.stackexchange.com/a/391193/4427
\DeclareFontFamily{U}{mathx}{}
\DeclareFontShape{U}{mathx}{m}{n}{ <-> mathx10 }{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareMathAccent{\widebar}{\mathalpha}{mathx}{"73}
\newcommand{\justif}[1]{\textsf{#1}}
%\newcommand{\cmpl}[1]{\overline{#1}}
\newcommand{\cmpl}[1]{\widebar{#1}}
\begin{document}
\lipsum*[1][1-4]
\begin{flalign*}
\quad\MoveEqLeft x\in (\cmpl{A}\cup\cmpl{B})\setminus(A\cap B) \\[1ex]
&\equiv (x\in\cmpl{A}\cup\cmpl{B})\land\lnot(x\in A\cap B)
&& \justif{Def of Difference} \\
&\equiv ((x\in\cmpl{A})\lor(x\in\cmpl{B}))\land\lnot(x\in A\cap B)
&& \justif{Def of Union} \\
&\equiv (\lnot(x\in A)\lor\lnot(x\in B))\land\lnot(x\in A\cap B)
&& \justif{Def of Complement} \\
&\equiv \lnot((x\in A)\land(x\in B))\land\lnot(x\in A\cap B)
&& \justif{De Morgan} \\
&\equiv \lnot(x\in A\cap B)\land\lnot(x\in A\cap B)
&& \justif{Def of Intersection} \\
&\equiv \lnot(x\in A\cap B)
&& \justif{Idempotence} \\
&\equiv x\in\cmpl{A\cap B}
&& \justif{Def of Complement}
\end{flalign*}
\lipsum[2]
\end{document}
会将输出(flalign*
版本)转换为
类似地,如果您的合著者不喜欢无衬线字体,您只需更改 的定义即可\justif
。