
Ich möchte eine rechte Klammer, die sich über mehrere Textzeilen erstreckt und ganz rechts auf der Seite steht.\t
Etwas wie das :
Verwandt :Klammern - Hinzufügen einer großen Klammer neben einem Textkörper
Hier scheint der folgende Code nicht zu funktionieren:
$\left.\begin{tabular}{l}
line \\
one more line
\end{tabular}\hfill\right\}$
Gibt es Alternativen, \hfill
die funktionieren?
Antwort1
Ich würde es equation*
aus mehreren Gründen missbrauchen:
- automatische vertikale Beabstandung um die Konstruktion herum;
- Vermeidung von Seitenumbrüchen vor der Konstruktion.
Der Inhalt der braceonright
Umgebung wird als gesetzt tabular
und wiederverwendet, um die richtige Größe der Klammer zu erhalten. Dies ist notwendig, da \hfill
es nichts bewirkt, wenn es sich innerhalb eines \left
-Paares befindet \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}
Der Trick besteht darin, einen sehr großen Abstand (1000pt) hinzuzufügen, der auf die tatsächliche Breite verkleinert werden kann. Damit dies funktioniert, muss am Anfang der „Gleichung“ etwas Klebstoff (0pt) vorhanden sein.