O multline
ambiente alinha a primeira linha à esquerda, a última à direita, enquanto todas as linhas intermediárias são simplesmente centralizadas. O resultado às vezes não parece satisfatório, por exemplo, quando todas as linhas são apenas um pouco mais largas que a metade da largura do texto.
O que procuro é uma ferramenta para deixá-la mais "parecida com escadas", como na foto abaixo, mas sem adicionar opções escolhidas manualmente \hspace{...}
em cada linha.
Eu sei que existem todos os tipos de exceções, como linhas muito largas e assim por diante, e não espero que a solução sempre produza uma saída perfeita, mas deve haver algo que funcione em um caso "genérico". Alguma ideia?
Responder1
Você pode definir cada linha em uma macro que as distribui "manualmente" usando algo como \setline[<align>]{<portion>}{<stuff>}
definido abaixo:
\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}
Provavelmente seria possível determinar o valor {<portion>}
automaticamente, se necessário.
Responder2
O pacote mathtools
oferece a opção \shoveleft[<ofset>]{<part of equation>}
pela qual você pode obter facilmente escadas como multline
:
Código baseado no exemplo do manual mathtools (página 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}