使用 nath 包在 frac 中设置数组

使用 nath 包在 frac 中设置数组

我用纳特要获取的包自动调整大小的分隔符,但是它会破坏在\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 的回答更好。

相关内容