El multline
entorno alinea la primera línea a la izquierda, la última a la derecha, mientras que todas las líneas intermedias simplemente están centradas. El resultado a veces no parece satisfactorio, por ejemplo, cuando todas las líneas son ligeramente más anchas que la mitad del ancho del texto.
Lo que estoy buscando es una herramienta para que parezca más "escalera", como en la imagen de abajo, pero sin agregar elementos seleccionados manualmente \hspace{...}
en cada línea.
Sé que hay todo tipo de excepciones, como líneas demasiado anchas, etc., y no espero que la solución siempre produzca un resultado perfecto, pero debería haber algo que funcione en un caso "genérico". ¿Algunas ideas?
Respuesta1
Puede configurar cada línea en una macro que las distribuya "manualmente" usando algo como \setline[<align>]{<portion>}{<stuff>}
lo que se define a continuación:
\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}
Probablemente sería posible determinar el valor {<portion>}
automáticamente, si fuera necesario.
Respuesta2
El paquete mathtools
proporciona una opción \shoveleft[<ofset>]{<part of equation>}
mediante la cual puede obtener fácilmente escaleras como multline
:
Código basado en el ejemplo del manual de Mathtools (pág. 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}