
Sentei-me esta noite para tentar definir uma lista simples parecida com 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.
Então você pode ver que os requisitos são bastante simples. O rótulo do item não deve ser recuado, mas deve começar precisamente na margem esquerda. Deve ser seguido por uma quebra de linha. Após a quebra de linha vem o corpo do item. Este deverá ser recuado - isto é, todo o parágrafo - e todos os parágrafos seguintes na mesma proporção. No entanto, não deve haver parágrafo inicial com recuo, todos os parágrafos devem começar em uma linha em branco. No exemplo, o recuo é de dois espaços, mas acho que um quad serviria bem.
Como possíveis complicações, meu documento como um todo segue o estilo de parágrafo acima, com uma linha em branco entre os parágrafos e sem recuo inicial. Em segundo lugar, gostaria de formatar o rótulo do item em texto de máquina de escrever.
Então, claramente, pensei, preciso de um list
ambiente.
\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}
Mas fiquei totalmente confuso ao tentar descobrir o que colocar como segundo argumento, porque o recuo real do rótulo não parece estar definido. Em vez disso, o \leftmargin
é definido, com o rótulo do item desviado em relação a ele por outros parâmetros relevantes que não consegui decifrar como ajustar.
Qualquer explicação adicional seria muito apreciada.
Responder1
Vocêfazerquero uma 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}
Responder2
Isso parece estar bem próximo do que você deseja:
\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}
Eu tenho usadoquadro de exibiçãopara mostrar onde estão as margens. Observe o pequeno hack itemindent=-1.5mm
que, por algum motivo, é necessário para colocar o rótulo de volta na margem.
Responder3
No final desisti de usar um list
ambiente e, em vez disso, defini um novo comando usando caixas. Isso funciona para mim, mas parece hackeado.
\newlength{\currentparskip}
\setlength{\currentparskip}{\parskip}
\newcommand{\point}[2]{\texttt{#1} \\
\makebox[1em]{}\begin{minipage}[t]{\dimexpr\textwidth-1em}%
\setlength{\parskip}{\currentparskip}%
#2%
\end{minipage}%
}
Achei usar uma caixa de 1em de largura antes do minipage
necessário, pois \hfill
não parecia fazer nada.
Parece funcionar, no entanto:
\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}
Veja bem, eu entendo
Overfull \hbox (30.0pt too wide) in paragraph at lines 29--30
avisos.