Schönen guten Tag alle miteinander!

Ich habe folgende Frage:

Ich habe eine Liste mit enumerate erstellt und möchte gerne einen der Listenpunkte (mehrzeilig) in große geschwungene Klammern setzten. Ich habe selbst schon einiges im Mathemodus ausprobiert, allerdings noch keine Lösung gefunden.

Anbei mein Kurzbeispiel, das hoffentlich noch einiges erklärt. Eine Möglichkeit wäre es, meinen Wunsch wie in 3. umzusetzen, allerdings fände ich eine Lösung mit großer Klammer um den gesamten Text schöner.

Habt ihr eine Idee, wie man das umsetzen könnte?

Open in Online-Editor
\documentclass[11pt, ngerman]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{blindtext}

\begin{document}
\begin{enumerate}
\item Text
\item Teext
\item[(3.)] Teeext
\item[(4.] Teeeext )
\item[(5.] \blindtext)
%\item[$\left($ 6.] \blindtext $\right)$
\end{enumerate}
\end{document}

gefragt 03 Mai '16, 13:27

Carotty's gravatar image

Carotty
1912812
Akzeptiert-Rate: 0%

bearbeitet 04 Mai '16, 12:11

cgnieder's gravatar image

cgnieder
22.1k253463


Keine echten Klammern, aber…

Open in Online-Editor
\documentclass[11pt, ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage{tikz}

\newcommand*\savepos[1]{%
  \tikz[remember picture]\path coordinate (#1);%
}

\usepackage{blindtext}

\begin{document}

\begin{enumerate}
  \item Text
  \item Text
  \item \savepos{a}\blindtext
    \hfill\savepos{b}
    \begin{tikzpicture}[remember picture, overlay]
      \path (a) ++(-\labelwidth,\ht\strutbox) coordinate (x) ;
      \path (b) ++(1em,-\dp\strutbox) coordinate (y) ;
      \draw (x |- y) to[out=100,in=260] (x) ;
      \draw (x -| y) to[out=280,in=80] (y) ;
    \end{tikzpicture}
  \item Text
\end{enumerate}

\end{document}

alt text

Open in Online-Editor
\documentclass[11pt, ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}

\newcommand*\savepos[1]{%
  \tikz[remember picture]\path coordinate (#1);%
}

\usepackage{blindtext}

\begin{document}

\begin{enumerate}
  \item Text
  \item Text
  \item \savepos{a}\blindtext
    \hfill\savepos{b}
    \begin{tikzpicture}[remember picture, overlay]
      \path (a) ++(-\labelwidth,\ht\strutbox) coordinate (x) ;
      \path (b) ++(1em,-\dp\strutbox) coordinate (y) ;
      \draw[decorate,decoration={brace,amplitude=.5em}] (x |- y) -- (x) ;
      \draw[decorate,decoration={brace,amplitude=.5em}] (x -| y) -- (y) ;
    \end{tikzpicture}
  \item Text
\end{enumerate}

\end{document}

alt text

Permanenter link

beantwortet 04 Mai '16, 09:26

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

Wenn man den Vorschlag @Henri etwas fortspinnt, kann man die geschweifte Klammer auch links von der Nummer bekommen und zusätzlich eine rechts hinzufügen:

Open in Online-Editor
\documentclass{article}
\usepackage{calc}
\usepackage{blindtext}
%\usepackage{showframe}% ggf. zur Verdeutlichung der Grenzen des Textbereichs
\begin{document}
\begin{enumerate}
\item Text
\item Teext
\item Teeext
\item \blindtext
\item \raisebox{\ht\strutbox-\height-.5\dp\strutbox}{\hspace*{-\labelwidth}\hspace{-\labelsep}$\left\{\hspace{\labelwidth}\hspace{\labelsep}\hspace{-1em}\parbox{\linewidth-1em}{\blindtext}\right\}$}
\item \raisebox{\ht\strutbox-\height-.5\dp\strutbox}{\hspace*{-\labelwidth}\hspace{-\labelsep}$\left\{\hspace{\labelwidth}\hspace{\labelsep}\hspace{-1em}\parbox{\linewidth}{\blindtext}\right\}$}% rechte Klammer im rechten Rand
\end{enumerate}
\end{document}

Klammern links und rechts vom Aufzählungspunkt

Die Breite der geschweiften Klammen habe ich mit 1em übrigens schlicht geschätzt. Der Rest ist in der Tat korrekt berechnet. Der Trick besteht darin, noch vor der öffnenden geschweiften Klammern nach links mit \hspace*{-\labelwidth}\hspace{-\labelsep} vor die Nummer zu springen. Dann gibt man zunächst die linke Klammer aus, begibt sich mit \hspace{\labelwidth}\hspace{\labelsep} wieder um denselben Wert nach rechts, den man zuvor nach links gesprungen ist, zieht davon aber mit \hspace{-1em} die geschätzte Breite der geschweiften Klammer ab und gibt anschließend den Text aus. Die dafür zur Verfügung stehende Breite ist \linewidth ggf. abzüglich der Breite für die rechte, geschweifte Klammer, falls diese im Textbereich stehen soll (bei 5.). Die ganze Ausgabe wird aufgrund der Matheumgebung vertikal zentriert. Also verschiebt man sie mit \raisebox um ihre Höhe abzüglich der Höhe einer \strut nach unten. Weil aber 4.',5.' etc. keine Unterlänge haben, muss man die Verschiebung noch ein klein wenig korrigieren.

Ich würde übrigens die zweite Lösung bevorzugen, bei der die rechte geschweifte Klammer im Rand steht. Das ergibt insgesamt ein harmonischeres Bild. Das ganze packe ich dann in eine entsprechende Definition, bei der dann tatsächlich die Breite der Klammer nicht mehr geschätzt, sondern ermittelt wird und für die korrekte vertikale Ausrichtung die geschweifte Klammern mit \vadjust gesetzt werden:

Open in Online-Editor
\documentclass{article}
\usepackage{calc}
\usepackage{blindtext}
%\usepackage{showframe}% ggf. zur Verdeutlichung der Grenzen des Textbereichs
\newsavebox\bitbox
\newlength{\bracewidth}
\newcommand{\braceditemtext}[2][.5\ht\strutbox]{%
  \savebox\bitbox{\parbox[t]{\linewidth}{#2}}%
  \settowidth\bracewidth{$\left\{\usebox\bitbox\right.$}%
  \addtolength\bracewidth{-\wd\bitbox}%
  \usebox\bitbox % Text setzen (ggf. mit Seitenumbruch davor)
  \vadjust{%
    \vskip\dimexpr-\dp\bitbox-\ht\bitbox-#1\relax% vertikale Position der Klammern
    \makebox[0pt][l]{% zur Vermeidung einer overfull \hbox
      $\left\{%
        \rule{0pt}{(\ht\bitbox+\dp\bitbox+\ht\strutbox)/2}% Höhe bzw. Tiefe der Klammern
        \rule{\linewidth+\labelwidth+\labelsep-\bracewidth}{0pt}% Abstand zwischen den Klammern
      \right\}$%
    }%
  }%
}
\begin{document}
\begin{enumerate}
\item Text
\item Teext
\item Teeext
\item \blindtext
\item \braceditemtext{\blindtext}
\item \blindtext
\end{enumerate}
\end{document}

Verbesserte Version

Bei der hier verbesserten Version kann man ggf. die vertikale Position der Klammern über das optionale Argument von \braceditemtext selbst anpassen.

Zu beachten ist, dass natürlich bei solchen eingeklammerten Aufzählungspunkten kein Seitenumbruch im Aufzählungpunkt erfolgen kann.

Permanenter link

beantwortet 04 Mai '16, 08:47

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 06 Mai '16, 13:06

Das ist zwar nicht das was gefragt war, aber eine ganz gute Approximation

Open in Online-Editor
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\begin{enumerate}
\item Text
\item Teext
\item Teeext
\item Teeeext
\item $\left\{ \parbox{310pt}{\lipsum[1]} \right.$
\end{enumerate}
\end{document}

alt text

Permanenter link

beantwortet 03 Mai '16, 21:38

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×24
×15

gestellte Frage: 03 Mai '16, 13:27

Frage wurde gesehen: 10,044 Mal

zuletzt geändert: 06 Mai '16, 13:06