我用纳特要获取的包自动调整大小的分隔符,但是它会破坏在\begin{array}{…}…\end{array}
a 内的 a \frac{}{}
(只需删除\usepackage{nath}
下面的修复示例,但我需要 nath 来处理其他东西)。
\documentclass{article}
\usepackage{nath}
\begin{document}
\begin{equation}
\begin{array}{c}a\\b\\c\end{array}% This works
\frac{numerator}{denominator}% This works
% I want to put the array at the numerator's place
\frac{\begin{array}{c}a\\b\\c\end{array}}{denominator}% This fails
\end{equation}
\end{document}
我正在尝试这样做来排版一些简单的自然演绎证明(一个或多个假设后跟一条水平线,然后是一个或多个结论),但 bussproofs.sty 之类的包显然是多余的(我不需要排版完整的证明,只需要一个推理规则)。虽然从\frac{}{}
语义上来说,这种用法是不正确的,但它很简单,并给出了我需要的视觉效果。
编辑:错误信息是ERROR: LaTeX Error: Environment ARRAY undefined.
答案1
由于某种原因,在处理分数时nath
使用\uppercase
(我没有检查详细信息,但错误消息是关于ARRAY
未定义的)。
这个 hack 似乎有效:
\documentclass{article}
\usepackage{nath}
\newenvironment{ARRAY}[2][c]{\lowercase{\array[#1]{#2}}}{\endarray}
\begin{document}
\begin{equation}
\begin{array}{c}a\\b\\c\end{array}\quad
\frac{numerator}{denominator}\quad
\frac{\begin{array}{c}a\\b\\c\end{array}}{denominator}
\end{equation}
\end{document}
一种不那么黑客的方法是隐藏array
:
\newcommand{\morelines}[1]{\begin{array}{c}#1\end{array}}
和
\begin{equation}
\frac{\morelines{a\\b\\c}}{denominator}
\end{equation}
甚至
\newcommand{\morelines}[1]{\begin{array}{c}#1\end{array}}
\newcommand{\deduction}[2]{\frac{\morelines{#1}}{\morelines{#2}}}
并输入您的扣除额
\begin{equation}
\deduction{a\\b\\c}{denominator}
\end{equation}
我更加确信不使用nath
。
答案2
对于问题中的特定示例,\matrix
也可以使用
\documentclass{article}
\usepackage{nath}
\begin{document}
\begin{equation}
\frac{\matrix a\\ b\\ c\strut\endmatrix}{`denominator}
\end{equation}
\end{document}
答案3
经过更多的反复尝试后,我发现它\hline
在该环境中有效array
。
\documentclass{article}
\usepackage{nath}
\begin{document}
\begin{equation}
\begin{array}{c}
Hypothesis_1\\
Hypothesis_2\\
\hline
Conclusion_1
\end{array}
\end{equation}
\end{document}
这给出了我想要的视觉效果,并且没有\frac{}{}
语义不匹配,但是数组具有不同的垂直对齐方式,并且倾向于与它们的左侧和右侧发生冲突(它们需要更多的水平填充),因此egreg 的回答更好。