我想创建一个包含“分数”的文档,其中包含三个或更多故事,而不是只有两个,并由等长的分数线分隔。(这些不是真正的分数,但我想使用分数线来表示。)
我尝试过两种方法:matrix
带有\hline
s 的环境和简单嵌套\frac
s。两种方法均未产生令人满意的结果:
matrix
左侧的选项看起来还不错,但s\hline
太宽了;它们应该比分数的每个故事稍宽。\frac
但是,对于嵌套选项,两个条的宽度略有不同,整个分数的垂直定位不正确(它位于下部条的中心,而不是中心故事),并且垂直间距令人怀疑。
\begin{matrix}
N I \\ \hline
I N \\ \hline
a I
\end{matrix}
= \frac{\dfrac{I a}{\N I}}{I N}
是否有一个好方法来获得多层分数?
答案1
array
可使用环境:
\documentclass{article}
\newcommand*{\threefrac}[3]{%
\begin{array}{@{\,}c@{\,}}%
#1\\
\hline
#2\\
\hline
#3%
\end{array}%
}
\begin{document}
\[
\threefrac{NI}{IN}{aI} = \threefrac{Ia}{NI}{IN}
\]
\end{document}
线条两侧各有一条细线 ( \,
),较长。如果线条需要变小或变大,可以进行更改。
线条周围间距均匀
这里是使用 的统一行距变体\halign
。可以通过重新定义 来配置垂直空间\threefracLineSep
。
\documentclass{article}
\newcommand*{\threefrac}[3]{%
\ensuremath{%
\vcenter{%
\halign{\hfil$\,##\,$\hfil\cr
#1\cr
\noalign{\kern\threefracLineSep}%
\hline
\noalign{\kern\threefracLineSep}%
#2\cr
\noalign{\kern\threefracLineSep}%
\hline
\noalign{\kern\threefracLineSep}%
#3\cr
}%
}%
}%
}
\newcommand*{\threefracLineSep}{.4ex}
\begin{document}
\[
\threefrac{NI}{IN}{aI} = \threefrac{Ia}{NI}{IN}
\neq \threefrac{\sum\limits_{n=1}^\infty NI^n}{\dots}{n}
\]
\end{document}