格式化长关系代数表达式

格式化长关系代数表达式

我在 LaTeX 中有以下内容

\begin{multline*}
\Pi_{SNAME}(\sigma_{(COLOUR = 'SCREW' \wedge STATUS > 20 \wedge SUPPLIERNUM = SNUM \wedge PARTNUM = PNUM)}\\ ((\rho (SNUM, SUPPLIERNUM) (SUPPLIER)) \times (\rho (PNUM, PARTNUM (PART)) \times (SUPPLY)))
\end{multline*}

我似乎无法在某些点添加\\内容(例如选择条件的中途)。有什么建议可以更易读地分解它吗?

答案1

您可以使用\substack(来自amsmath您已经使用的包)来制作多行下标。还请注意,您不应使用默认数学斜体设置多字母标识符,该字体旨在使相邻字母看起来不像一个单词,而像单个字母变量的乘积。我\mathrm在这里使用,但您可以使用\mathit。这仍然不太易读,可能需要进一步拆分。

在此处输入图片描述

或者使用更多换行符(但仍然难以阅读)

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}
\begin{multline*}
\Pi_{\substack{
\operatorname{SNAME}
(\sigma_{\substack{(\mathrm{COLOUR} = '\mathrm{SCREW}' \wedge\\
 \mathrm{STATUS} > 20 \wedge\\
 \mathrm{SUPPLIERNUM} = \mathrm{SNUM} \wedge\\
 \mathrm{PARTNUM} = \mathrm{PNUM})}}\hfill\\
((\rho (\mathrm{SNUM}, \mathrm{SUPPLIERNUM}) (\mathrm{SUPPLIER})) \times\\
 (\rho (\mathrm{PNUM}, \mathrm{PARTNUM} (\mathrm{PART})) \times (\mathrm{SUPPLY}))))}}
\end{multline*}


\end{document}
\documentclass{article}

\usepackage{amsmath}

\begin{document}
\begin{multline*}
\Pi_{
\substack{
\operatorname{SNAME}
(\sigma_{(\mathrm{COLOUR} = '\mathrm{SCREW}' \wedge \mathrm{STATUS} > 20 \wedge \mathrm{SUPPLIERNUM} = \mathrm{SNUM} \wedge \mathrm{PARTNUM} = \mathrm{PNUM})}\hfill\\
((\rho (\mathrm{SNUM}, \mathrm{SUPPLIERNUM}) (\mathrm{SUPPLIER})) \times (\rho (\mathrm{PNUM}, \mathrm{PARTNUM} (\mathrm{PART})) \times (\mathrm{SUPPLY}))))}}
\end{multline*}
\end{document}

相关内容