
Мне нужна правая фигурная скобка, охватывающая несколько строк текста и расположенная в правой части страницы.
Что-то вроде этого :
Связанный :скобки — добавление большой скобки рядом с текстом
В данном случае следующий код, похоже, не работает:
$\left.\begin{tabular}{l}
line \\
one more line
\end{tabular}\hfill\right\}$
Есть ли альтернативы, \hfill
которые будут работать?
решение1
Я бы оскорбил equation*
по нескольким причинам:
- автоматическое вертикальное распределение по конструкции;
- избегая разрывов страниц перед конструкцией.
Содержимое окружения 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}
Хитрость заключается в том, чтобы добавить очень большое пространство (1000 точек), которое можно сжать до фактической ширины; чтобы это сработало, в начале «уравнения» должен быть какой-то клей (0 точек).