Recuo em parágrafos numerados

Recuo em parágrafos numerados

Estou tentando formatar meu texto de acordo com as seguintes regras:

  1. A partir do segundo parágrafo, os parágrafos deverão ser numerados.
  2. Os números dos parágrafos devem estar dentro da área do texto, alinhados à margem esquerda.
  3. A primeira linha do texto do parágrafo deve ser recuada em 2,5 cm (a partir da margem, não do número)

Até agora consegui o seguinte.

\documentclass[12pt,a4paper]{article}
\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}

\setlength{\parindent}{2.5cm} %paragraphs should be indented by 2.5 cm from margin

\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
\newcommand\p{%
    \stepcounter{parcount}%
    \parnum \hspace{1em}%
}
\stepcounter{parcount} % start at number 2
\newenvironment{parnumbers}{%
   \setlength{\parindent}{0cm}
   \par%
   \everypar{\noindent \stepcounter{parcount}\parnum \hspace{2.3cm}}% NEED TO ADJUST. Paragraph text (not numbers) should be indented by 2.5cm from margin.
}{}

\begin{document}
\lipsum[1]
\begin{parnumbers}
\lipsum[2-15]
\end{parnumbers}
\end{document}

insira a descrição da imagem aqui

Ao invés de ter um fixo \hspaceapós o contador de parágrafos, como faço para inserir 2.5cmmenos o comprimento do número do parágrafo e o ponto? Por exemplo, quando tenho números de parágrafo de dois dígitos, o fixo \hspacetorna o texto um pouco mais recuado do que deveria.

insira a descrição da imagem aqui

Alguma ideia?
Agradeço antecipadamente.
Rossi

Responder1

O numboxpode ser definido em alguns \hboxdos especificados com.

\hbox to \boxindent {content\hfill}preencherá a caixa e colocará uma caixa com a largura relevante no início do parágrafo.

\documentclass[12pt,a4paper]{article}
\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}

\newlength{\boxindent}
\setlength{\boxindent}{2.5cm}
\setlength{\parindent}{\boxindent} %paragraphs should be indented by 2.5 cm from margin

%\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
%\newcommand\p{%
%    \stepcounter{parcount}%
%    \parnum \hspace{1em}%
%}
\renewcommand{\theparcount}{\arabic{parcount}.}
\setcounter{parcount}{1}
\newenvironment{parnumbers}{%
   \setlength{\parindent}{0em}
   \par%
   \everypar{\hbox to \boxindent{\raggedright\stepcounter{parcount}\theparcount\hspace{1em}%
       \hfill}}
}{}

\begin{document}
\lipsum[1]
\begin{parnumbers}
\lipsum[2-20]
\end{parnumbers}
\end{document}

insira a descrição da imagem aqui

Responder2

Uma variante referenciável, com um simples \makebox[2.5cm], e \hangindent\hangaftercaso você queira que a margem esquerda dos parágrafos fique 2,5 cm à direita da margem esquerda do documento:

\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} %\usepackage{indentfirst} %indent first paragraph
\usepackage{lipsum}

\setlength{\parindent}{2.5cm} %paragraphs should be indented by 2.5 cm from margin

\newcommand{\parnum}{\arabic{parcount}.}
\newcounter{parcount}
\stepcounter{parcount} % start at number 2
\newenvironment{parnumbers}{%
   \setlength{\parindent}{0cm}
   \par%
   \everypar{\noindent\hangindent=2.5cm\hangafter=1 \refstepcounter{parcount}\label{par-\arabic{parcount}}\makebox[2.5cm][l]{\arabic{parcount}.}}%
}{}

\usepackage[colorlinks]{hyperref} %

\begin{document}
\lipsum[1]

{\begin{parnumbers}
\lipsum[2-15]
\end{parnumbers}}

We see in §\,\ref{par-10}…

\end{document} 

insira a descrição da imagem aqui

informação relacionada