\hfill 在数学模式下不适用于括号

\hfill 在数学模式下不适用于括号

我想要一个横跨几行文本且位于页面最右侧的右括号。\

像这样:

右括号括住文本

有关的 :括号 - 在正文旁边添加一个大括号

这里,以下代码似乎不起作用:

$\left.\begin{tabular}{l}
line \\
one more line
\end{tabular}\hfill\right\}$

有没有\hfill可行的替代方案?

答案1

我滥用它equation*有几个原因:

  1. 建筑物周围自动垂直限位;
  2. 避免在构造之前出现分页符。

环境的内容braceonright被排版为,tabular并重新用于获取括号的正确大小。这是必要的,因为如果在-对内\hfill则不执行任何操作。\left\right

\documentclass{article}
\usepackage{amsmath}

\usepackage{lipsum} % for mock text

\newsavebox{\braceonrightbox}
\newenvironment{braceonright}
 {%
  \begin{equation*}% abuse equation* for spacing and other features
  \hspace{0pt}% necessary
  \begin{lrbox}{\braceonrightbox}% save the contents
  \begin{tabular}{@{}l@{}}%
 }
 {%
  \end{tabular}%
  \end{lrbox}%
  \usebox{\braceonrightbox}
  \hspace{1000pt minus 1fil}
  \left.\vphantom{\usebox{\braceonrightbox}}\right\rbrace
  \end{equation*}\ignorespacesafterend
 }

\begin{document}

\lipsum[1][1-6]
\begin{braceonright}
line \\
one more line
\end{braceonright}
\lipsum[2]

\end{document}

诀窍是添加一个非常大的空间(1000pt),该空间可以缩小到实际宽度;为了使其工作,“等式”的开头必须有一些粘连(0pt)。

在此处输入图片描述

答案2

嗯,是这样的:

\documentclass{article}
\usepackage{lipsum}

\begin{document}
\lipsum[11]
\par\noindent
$\left.\begin{tabular}{@{} p{\linewidth} @{}}
line \\
one more line
\end{tabular}\right\}$
\par
\lipsum[11]
\end{document}

在此处输入图片描述

相关内容