破坏 `\frac{}{}` 的尺寸对称性

破坏 `\frac{}{}` 的尺寸对称性

如果我的frac分子比分母高,例如

\frac{\begin{array}{c} t\\a\\l\\l\\ \end{array}}{small}

一个很好的分数

我喜欢它仍然调整至基线的方式。


但是,如果我需要用\left\right分隔符将其括起来,就会发生一些奇怪的事情,请参阅:

\left(\frac{\begin{array}{c} t\\a\\l\\l\\ \end{array}}{small}\right)

奇怪的分数

那么,为什么分母下面会有这么多空白呢?
如何去除这些空白,同时保持分数线与基线对齐?

我知道这意味着括号不再与分数线居中。但我不介意。

答案1

我认为您应该用不同的方式来表达您的公式。

无论如何,这是一个使用 的可能解决方案delarray

语法是

\delfrac<left>{<numerator>}{<denominator>}<right>

如果需要括号,[]则必须使用\lbrack\rbrack,这是由于实施原因delarray

\documentclass{article}
\usepackage{amsmath}
\usepackage{delarray}


\makeatletter
\newsavebox{\del@frac@box}
\newcommand\delfrac[4]{\mathpalette\del@frac{{#1}{#2}{#3}{#4}}}
\newcommand{\del@frac}[2]{\del@@frac{#1}#2}
\newcommand{\del@@frac}[5]{%
  \sbox\del@frac@box{$\m@th#1\frac{#3}{#4}$}%
  \sbox\z@{$\begin{array}#2{@{}c@{}}#5\usebox{\del@frac@box}\end{array}$}%
  \raisebox{\dimexpr\depth-\dp\del@frac@box}{\box\z@}%
}
\makeatother

\begin{document}

baseline $\left\{\frac{a}{b}\right\}$ $\delfrac\{{a}{b}\}$
$\delfrac\{{\begin{array}{c} t\\a\\l\\l \end{array}}{small}\}$ is here

\[
x+\delfrac\{{\begin{array}{c} t\\a\\l\\l \end{array}}{small}\}+y
\]

\[
x_{t\delfrac\lbrack{\substack{a\\b\\c\mathstrut}}{\substack{\mathstrut d\\e}}\rbrack}
\]
\end{document}

在此处输入图片描述

答案2

在此处输入图片描述

我不确定它看起来是否好看:-)但如果那就是你想要的:

\documentclass{article}

\def\zzz#1{%
\sbox0{$#1$}%
\dimen0=0.5\dimexpr\ht0+\dp0\relax
\sbox0{$\left(\lower\dimen0 \box0 \right)$}%
\raise\dimen0 \box0 
}


\begin{document}


text here $1+\zzz{\frac{\begin{array}{c} t\\a\\l\\l\\ \end{array}}{small}}$ zzz
\end{document}

相关内容