Definición de una lista con etiqueta sin sangría y elemento con sangría

Definición de una lista con etiqueta sin sangría y elemento con sangría

Me senté esta noche para intentar definir una lista simple que se parece a esta:

1:23
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.

Como puede ver, los requisitos son bastante simples. La etiqueta del artículo no debe tener ninguna sangría, sino que debe comenzar precisamente en el margen izquierdo. Debería ir seguido de un salto de línea. Después del salto de línea viene el cuerpo del artículo. Esto se sangrará (es decir, todo el párrafo) y todos los párrafos siguientes con la misma sangría. Sin embargo, no debe haber ningún párrafo que comience con sangría; todos los párrafos deben comenzar con una línea en blanco. En el ejemplo, la sangría es de dos espacios, pero creo que un cuádruple funcionaría bien.

Como posibles complicaciones, mi documento en su conjunto sigue el estilo de párrafo anterior, con una línea en blanco entre los párrafos y sin sangría inicial. En segundo lugar, me gustaría formatear la etiqueta del artículo en texto de máquina de escribir.

Así que claramente pensé que necesito un listentorno.

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}

\begin{document}

\begin{list}{}{}
  \item[1:23]
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.
\end{list}

\end{document}

Pero quedé totalmente confundido al intentar decidir qué poner como segundo argumento porque la sangría real de la etiqueta no parece estar definida en sí misma. En cambio \leftmargin, está definido, con la etiqueta del elemento desviada en relación con él por otros parámetros relevantes que no pude descifrar cómo modificar.

Cualquier explicación adicional sería muy apreciada.

Respuesta1

hacerquiero una lista.

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper,showframe} % showframe just for the example
\usepackage[parfill]{parskip}

\newenvironment{points}
 {\begin{list}{}{\leftmargin=1em\labelwidth=\leftmargin\labelsep=0pt}%
  \newcommand{\point}[1]{\item[##1]\mbox{}\\*\ignorespaces}}
 {\end{list}}

\begin{document}

\begin{points}

\point{1:23}
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.

\point{22:333}
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

\end{points}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Esto parece estar bastante cerca de lo que desea:

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[a4paper,margin=1.8cm]{geometry}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage{showframe}

\newlist{simple}{description}{1}
\setlist[simple]{leftmargin=4mm,   % indentation of paragraphs
                 font=\texttt,     % typewritter text for labels
                 style=nextline,   % start new line for "wide" labels
                 labelindent=0pt,  % the remaining settings make the
                 itemindent=-1.5mm,% width of the labels, with a small hack
                                   % to drag the label back to the margin
                 listparindent=0pt,
                 labelwidth=0pt,
}

\begin{document}

   \begin{simple}
     \item[1:23]\lipsum[1-2]
     \item[1:24]\lipsum[1-2]
   \end{simple}

\end{document}

He usadomarco de exposiciónpara mostrar dónde están los márgenes. Tenga en cuenta el pequeño truco itemindent=-1.5mmque, por alguna razón, es necesario para que la etiqueta vuelva al margen.

ingrese la descripción de la imagen aquí

Respuesta3

Al final, dejé de usar un listentorno y en su lugar definí un nuevo comando usando cuadros. Esto funciona para mí, pero parece un truco.

\newlength{\currentparskip}
\setlength{\currentparskip}{\parskip}
\newcommand{\point}[2]{\texttt{#1} \\
  \makebox[1em]{}\begin{minipage}[t]{\dimexpr\textwidth-1em}%
    \setlength{\parskip}{\currentparskip}%
    #2%
  \end{minipage}%
}

Descubrí que estaba usando una caja de 1 em de ancho antes de lo minipagenecesario, porque \hfillno parecía hacer nada.

Sin embargo, parece hacer el trabajo:

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}
\usepackage{showframe}

\newlength{\currentparskip}
\setlength{\currentparskip}{\parskip}
\newcommand{\point}[2]{\texttt{#1} \\
  \makebox[1em]{}\begin{minipage}[t]{\dimexpr\textwidth-1em}%
    \setlength{\parskip}{\currentparskip}%
    #2%
  \end{minipage}%
}

\begin{document}

\point{1:23}{%
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.
}

\point{1:24}{%
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  commodo ligula eget dolor. Aenean massa. Cum sociis natoque
  penatibus et magnis dis parturient montes, nascetur ridiculus
  mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
  sem.

  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.
}

\end{document}

ingrese la descripción de la imagen aquí

Eso sí, lo entiendo

Overfull \hbox (30.0pt too wide) in paragraph at lines 29--30

advertencias.

información relacionada