Ich möchte eine Aufzählung ähnlich wie in dieser Frage formatieren und einrahmen. Mit der dortigen Lösung bin ich noch nicht ganz zufrieden und habe deshalb hier zwei Beispielbilder eingefügt.

Oben ist die Lösung mit enumerate und mdframed aus der verlinkten Frage, entsprechend dem Vorschlag von @Clemens.

Daran stört mich noch

  • Der Text (Generell gilt:) wird eingerückt (unschön)
  • Ich möchte den Blocksatz ein Stück weiter rechts stehen haben!
  • Der Rahmen ist viel zu groß

alt text

Unten ist es ungefähr so wie ich es vorher hatte. Allerdings stört mich an dieser mit boxed und aligned erstellten Lösung noch, dass der Text nicht im Blocksatz steht.

gefragt 15 Jan '14, 00:14

MaWe's gravatar image

MaWe
41226
Akzeptiert-Rate: 0%

konvertiert in Frage 15 Jan '14, 14:14

esdd's gravatar image

esdd
17.8k284257

2

@MaWe: Wie von @Clemens und @Stefan vorgeschlagen, habe ich deine Folgefrage jetzt in eine neue Frage konvertiert.

(15 Jan '14, 14:16) esdd

@MaWe: Leider hast du bei Deiner Frage den Code für die Beispiele nicht mit angegeben. Beide sehen aber so aus, als sollte der Inhalt gar nicht im Blocksatz gesetzt werden, sondern statt dessen linksbündig mit manuellen Zeilenumbrüchen?

(16 Jan '14, 00:09) esdd

Hier ist noch ein Vorschlag für den Fall, dass zumindest in einigen der Aufzählungen die Texte nicht im Blocksatz gesetzt werden, sondern zum Beispiel durch manuelle Zeilenumbrüche deutlich kürzer sind und der Rahmen dabei nur so breit werden soll wie unbedingt notwendig.

Falls sich in jedem Rahmen immer nur um ein Aufzählungspunkt befindet, kann man hinter das „Item“ auch eine Box mit passender Breite setzen und das ganze dann einrahmen. Ich würde dafür die varwidth Umgebung aus dem gleichnamigen Paket nutzen. Das geforderte Argument dieser Umgebung gibt dabei die maximale Breite an während man das optionale Argument für die vertikale Ausrichtung nutzen kann.

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{varwidth}
\usepackage{blindtext}% für Fülltext
\newsavebox\Beschriftung
% \Rahmen[<trenner>]{<„item“>}{<beschreibung>}
\newcommand\Rahmen[3][:\qquad]{%
  \sbox\Beschriftung{#2#1}%
  \begin{flushleft}
    \fbox{\usebox\Beschriftung%
      \begin{varwidth}[t]{\dimexpr\linewidth-\wd\Beschriftung-2\fboxsep-2\fboxrule\relax}#3\end{varwidth}%
    }
  \end{flushleft}%
}

\begin{document}
\Rahmen{Generell gilt}{Das ist ein Text zum Testen\\ mit zwei Zeilen.}
\Rahmen{Test}{\blindtext}
\end{document}

alt text

Sollen mehrere Aufzählungspunkte in einem Rahmen stehen, dann würde ich eine Tabelle verwenden und die Breite der Beschreibungsspalte ebenfalls mit Hilfe von varwidth Umgebungen anpassen. Um die maximale Breite für diese Spalte zu bestimmen, muss aber zunächst die Breite des breitesten Labels ermittelt werden, deshalb muss das breiteste Label als Argument übergeben werden:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{varwidth}
\usepackage{array} % u.a. für \newcolumntype
\newcolumntype{V}[1]{%
  >{\begin{varwidth}[t]{\dimexpr\textwidth-\wd#1-2\fboxsep-2\fboxrule\relax}\arraybackslash}
    l<{\strut\end{varwidth}}}

\newsavebox\Breitestes % Box für längstes „item“
%Syntax: \Rahmen[<trenner>]{<längstes „item“>}{<tabelleninhalt>}
\newcommand\Rahmen[3][:\qquad]{%
  \sbox\Breitestes{#2#1}%
  \begin{flushleft}%
    \fbox{\begin{tabular}{@{}l<{#1}@{}V{\Breitestes}@{}}
      #3
    \end{tabular}}%
  \end{flushleft}
}

\usepackage{blindtext}% für Fülltext
\begin{document}
\Rahmen[\,\ldots\qquad]{Generell gilt}{
    Generell gilt&das ist ein Text zum Testen\newline mit zwei Zeilen.\\
    Test&\blindtext}
\Rahmen[\qquad]{Generell gilt}{
    Generell gilt&das ist ein Text zum Testen\newline mit zwei Zeilen.\\
    Test&eines kurzen Textes.}
\end{document}

alt text

Permanenter link

beantwortet 15 Jan '14, 15:41

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 16 Jan '14, 00:23

Da Du meine Lösung explizit erwähnst, gehe ich auf die Punkte mal einzeln ein. Du sagst:

Oben ist die Lösung mit enumerate und mdframed aus der verlinkten Frage, entsprechend dem Vorschlag von @Clemens.

  • Der Text (Generell gilt:) wird eingerückt (unschön)
  • Ich möchte den Blocksatz ein Stück weiter rechts stehen haben!
  • Der Rahmen ist viel zu groß

Zuallererst: mein Vorschlag hat nicht enumerate verwendet, sondern explizit labeling! Da die Frage mit dem Rahmen später zur Originalfrage hinzukam, wenn ich mich recht erinnere, war mdframed ein späterer Zusatz zu meiner Antwort.

Zu den einzelnen Punkten:

  • der Text wird nicht eingerückt (wie in \parindent), sondern die mdframed Umgebung fügt zusätzlich zur schwarzen Linie einen Abstand ein rundherum ein. Dieser lässt sich mit Optionen des Pakets beliebig verringern (oder vergrößern). (Ich hatte in meiner Antwort extra zu dem Paket verlinkt, damit Du die Doku auch dann schnell finden kannst, wenn Du texdoc noch nicht kennst (zu diesem tollen Programm siehe z.B. Wie kann ich feststellen, welche Paketversionen von meinem Dokument geladen werden?).)
  • wärst Du bei meinem Vorschlag mit labeling geblieben und hättest Du dann noch in der KOMA-Script-Anleitung nach der Beschreibung von labeling gesucht, wäre Dir aufgefallen, dass sie ein optionales Argument für einen Trenner zwischen Label und Text hat. Dieser Trenner kann auch Leerraum wie \quad sein.
  • Ich habe keine Ahnung, was Du mit »zu groß« meinst: Der Rahmen rahmt so gerade eben den Inhalt ein, die Linie selbst ist 0.4pt dick...
Open in writeLaTeX
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{microtype}

\usepackage{mdframed}

\mdfsetup{
  innerleftmargin   = 2pt ,
  innerrightmargin  = 2pt ,
  innertopmargin    = 2pt ,
  innerbottommargin = 2pt
}

\usepackage{blindtext}
\begin{document}
\section{Test}
\blindtext
\begin{mdframed}
  \begin{labeling}[\quad]{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:}
    \item[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:] \blindtext
    \item[xxxxxxxx:] nur ein kurzer Text, der jetzt keine langen Abs\"atze
      verursacht
  \end{labeling}
\end{mdframed}
\end{document}

alt text

Permanenter link

beantwortet 15 Jan '14, 22:46

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 15 Jan '14, 22: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:

×17

gestellte Frage: 15 Jan '14, 00:14

Frage wurde gesehen: 17,491 Mal

zuletzt geändert: 19 Jan '14, 17:25