我有一个分数,分子和分母中都有其他分数。我希望用括号将分子和分母中的分数标记在右侧。我希望这些括号跨越分数的整个高度,但我不希望它们进一步延长分数线。
我尝试过\frac{a}{\left.\frac{b}{c}\right}}
实现前者但未能实现后者,我也尝试过\frac{a}{\frac{b}{c}\mathrlap{\}}}
实现后者但未能实现前者,因为我不能将一半放在\left
\right
里面\mathrlap
,而将另一半放在外面。
答案1
\mathrlap
也许您正在寻找的是和的组合,这就是和宏\smash
中包含的内容。\BraceRight
\BraceLeft
但是,正如 HendrikVogt 指出的那样,如果后面有文本,则需要在后面手动添加空格。为了缓解这个问题,我又定义了两个宏\FracBraceBottomRight
,\FracBraceBottomLeft
它们也在\hptantom
分数之后或之前添加适当的空格。
这样做的一个缺点是,如果您需要更多选项(例如分子两侧的可选括号),则需要不同的宏。可以使用更好的界面来启用/禁用适当的括号,但这可以通过更好的用户界面来解决,但我认为这更多的是一个提出更好的用户界面的问题。
参考:
- 用于
\BracKern
调整插入的水平空间\left.
,\right.
按照如何计算 \left\right 添加的精确宽度
代码:
\documentclass{article}
\usepackage{mathtools}
\newcommand*{\BraceRight}[1]{#1\mathrlap{\smash{\left.\vphantom{#1}\right\}}}}%
\newcommand*{\BraceLeft}[1]{\mathllap{\smash{\left\{\vphantom{#1}\right.}}#1}%
% https://tex.stackexchange.com/questions/54023/how-to-compute-exact-width-added-by-left-right
\newcommand{\BracKern}{\kern-\nulldelimiterspace}
\newcommand*{\FracBraceBottomRight}[2]{%
\frac{#1}{#2\mathrlap{\smash{\left.\BracKern\vphantom{#2}\right\}}}}%
\hphantom{\left.\vphantom{#2}\right\}}%
}%
\newcommand*{\FracBraceBottomLeft}[2]{%
\hphantom{\left\{\vphantom{#2}\right.\BracKern}%
\frac{#1}{\mathllap{\smash{\left\{\vphantom{#2}\right.}}#2}%
}%
\begin{document}
Requires manual spacing:
$\frac{a}{\frac{b}{c}}$\quad%
$\frac{a}{\BraceLeft{\frac{b}{c}}}$\quad%
$\frac{a}{\BraceRight{\frac{b}{c}}}$
\bigskip
Auto spacing with \verb|\hphantom|:
$\FracBraceBottomRight{a}{\frac{b}{c}}$%
$\FracBraceBottomRight{a}{\frac{b}{c}}$%
$\FracBraceBottomLeft{a}{\frac{b}{c}}$%
$\FracBraceBottomLeft{a}{\frac{b}{c}}$
\end{document}