Estoy intentando formatear mi texto de acuerdo con las siguientes reglas:
- A partir del segundo párrafo, los párrafos deben estar numerados.
- Los números de párrafo deben estar dentro del área de texto, alineados con el margen izquierdo.
- La primera línea del texto del párrafo debe tener una sangría de 2,5 cm (comenzando desde el margen, no desde el número)
Hasta ahora he logrado lo siguiente.
\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}
En lugar de tener un \hspace
contador fijo después del párrafo, ¿cómo inserto 2.5cm
menos la longitud del número de párrafo y el punto? Por ejemplo, cuando tengo números de párrafo de dos dígitos, el fijo \hspace
hace que el texto tenga un poco más de sangría de lo que debería.
¿Alguna idea?
Gracias de antemano.
rossi
Respuesta1
Se numbox
puede configurar en algunos \hbox
de los especificados.
\hbox to \boxindent {content\hfill}
llenará el cuadro y colocará un cuadro del ancho relevante al principio del párrafo.
\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}
Respuesta2
Una variante referenciable, con un simple \makebox[2.5cm]
, y \hangindent\hangafter
en caso de que desee que el margen izquierdo de los párrafos esté a 2,5 cm del margen derecho del 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}