Treppenähnliche Mehrlinien

Treppenähnliche Mehrlinien

Die multlineUmgebung richtet die erste Zeile linksbündig aus, die letzte rechtsbündig, während alle Zeilen dazwischen einfach zentriert werden. Das Ergebnis sieht manchmal unbefriedigend aus, beispielsweise wenn alle Zeilen nur etwas breiter als die halbe Textbreite sind.

Standard-Mehrzeilen

Ich suche nach einem Tool, mit dem es „treppenartiger“ aussieht, wie im Bild unten, ohne jedoch \hspace{...}in jede Zeile manuell ausgewählte Elemente einzufügen.

Angepasste Mehrzeilen

Ich weiß, dass es alle möglichen Ausnahmen gibt, wie z. B. zu breite Linien usw., und ich erwarte nicht, dass die Lösung immer ein perfektes Ergebnis liefert, aber es sollte etwas geben, das in einem „generellen“ Fall funktioniert. Irgendwelche Ideen?

Antwort1

Sie können jede Zeile in einem Makro festlegen, das sie „manuell“ verteilt, indem Sie beispielsweise Folgendes verwenden \setline[<align>]{<portion>}{<stuff>}:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{lipsum}

\newcommand{\setline}[3][c]{\hspace*{#2\linewidth}\makebox[0pt][#1]{#3}}
\newenvironment{spreadlines}
  {\par
   \setlength{\parindent}{0pt}%
   \obeylines}
  {\par}

\begin{document}

\lipsum[1]

\begin{spreadlines}
  \setline[l]{0}  {The first line is aligned to the left.}
  \setline   {.25}{The second line is (not) centred.}
  \setline   {.5} {And so is the third one.}
  \setline   {.75}{As well as the fourth --- not centred!}
  \setline[r]{1}  {The last line is aligned to the right.}
\end{spreadlines}

\lipsum[2]

\end{document}

Wahrscheinlich ließe sich der Wert {<portion>}bei Bedarf auch automatisch ermitteln.

Antwort2

Das Paket mathtoolsbietet eine Option \shoveleft[<ofset>]{<part of equation>}, mit der Sie ganz einfach Treppen wie die folgenden erhalten können multline: Bildbeschreibung hier eingeben

Code basierend auf einem Beispiel im Mathtools-Handbuch (S. 17):

\documentclass[11pt, border=1mm,
               preview]{standalone}
    \usepackage{mathtools}

    \begin{document}
\[
\begin{multlined}
\framebox[.65\columnwidth]{First line} \\
\shoveleft[1cm]{\framebox[.5\columnwidth]{Second line} } \\
\shoveleft[2cm]{\framebox[.5\columnwidth]{Second line} } \\
\shoveleft[3cm]{\framebox[.5\columnwidth]{Second line} } \\
\framebox[.65\columnwidth]{Last line}
\end{multlined}
\]
    \end{document}

verwandte Informationen