Cómo dar formato a un conjunto de párrafos con títulos a la izquierda de la primera línea

Cómo dar formato a un conjunto de párrafos con títulos a la izquierda de la primera línea

Estoy intentando escribir un documento con una lista de párrafos que tienen un título introductorio a la izquierda de la primera línea de cada párrafo, de modo que los títulos aparezcan como una columna de la izquierda y los párrafos como una columna de la derecha. Todo esto aparece dentro de un artículo estándar de una columna.

Lo que se me ocurrió es utilizar una tabla. Tengo:

\begin{tabularx}{\linewidth}{l X}
First row caption & \lipsum[1]\\
Second row caption & \lipsum[2]\\
Third row caption & \lipsum[3]\\
Fourth row caption & \lipsum[4]
\end{tabularx}

Si lipsumen ese ejemplo se reemplaza con texto de párrafo real, se vuelve bastante difícil de manejar debido al hecho de que está todo incrustado y la necesidad de continuaciones de línea, todo es bastante complicado. Lo que me gustaría es algo como esto:

\begin{captioned-text}{First row caption}
\lipsum[1]}
\end{captioned-text}
\begin{captioned-text}{Second row caption}
\lipsum[2]}
\end{captioned-text}
\begin{captioned-text}{Third row caption}
\lipsum[3]}
\end{captioned-text}
\begin{captioned-text}{Fourth row caption}
\lipsum[4]}
\end{captioned-text}

Con texto real en su lugar (potencialmente varios párrafos de texto real), esto sería más legible.

Espero que ya exista algún paquete que haga este tipo de cosas y simplemente no lo he encontrado. ¿Existe una mejor manera de lograr esto que usar una tabla?

Respuesta1

Bueno, gracias a Piotr Wydrych, encontré mdwlisty hace exactamente lo que quiero:

\usepackage{mdwlist}
\begin{basedescript}{\desclabelwidth{4cm}}
    \item[First caption] \lipsum[1]
    \lipsum[2]
    \item[Second caption] \lipsum[3]
    \item[Third caption] \lipsum[4]
 \end{basedescript}

Respuesta2

Generalmente, las tablas deben usarse para comparar una serie de hechos, no para componer listas de párrafos. ¿Has mirado el descriptionmedio ambiente? Funciona bien con más de un párrafo por título.

\begin{description}
\item[First caption] \lipsum[1]

\lipsum[2]

\item[Second caption] \lipsum[3]
\item[Third caption] \lipsum[4]
\end{description}

Respuesta3

Lo siguiente no es perfecto (espaciado entre captioned-textbloques, columna izquierda de ancho fijo/ancho de título y salto de página dentro de los bloques), pero proporciona la interfaz que busca:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{environ,lipsum}% http://ctan.org/pkg/{environ,lipsum}
\NewEnviron{captioned-text}[2][0.3\linewidth]{%
  \noindent%
    \begin{tabular}{@{}p{#1}p{\dimexpr\linewidth-#1-2\tabcolsep}@{}}
      #2 & \BODY
    \end{tabular}
}
\begin{document}
\begin{captioned-text}{First row caption}
\lipsum[1]
\end{captioned-text}
\begin{captioned-text}{Second row caption}
\lipsum[2]
\end{captioned-text}
\begin{captioned-text}{Third row caption}
\lipsum[3]
\end{captioned-text}
\begin{captioned-text}{Fourth row caption}
\lipsum[4]
\end{captioned-text}
\end{document}

Elenvironpaqueteproporciona la interfaz, captura todo el contenido de captioned-texty lo coloca en una columna de ancho fijo tabular. La columna de la izquierda tiene un ancho predeterminado de 0.3\linewidth, mientras que la columna de la derecha ocupa el resto del espacio.

salto de páginadentroel texto del párrafo requeriría un enfoque completamente diferente (ver a continuación). Sin embargo, el espacio entre bloques se puede ajustar según sus necesidades.


parcolumnsTambién se puede utilizar para eludir la advertencia del enfoque anterior y la falta de capacidad de salto de página:

\usepackage{environ,lipsum,parcolumns}% http://ctan.org/pkg/{environ,lipsum,parcolumns}
\NewEnviron{captioned-text}[2][0.3\linewidth]{%
  \begin{parcolumns}[colwidths={1=#1,2=\dimexpr\linewidth-#1-2em},nofirstindent]{2}
    \colchunk[1]{#2}%
    \colchunk[2]{\BODY}%
  \end{parcolumns}
}

información relacionada