Ich versuche meinen Text nach folgenden Regeln zu formatieren:
- Ab dem zweiten Absatz sollten die Absätze nummeriert werden.
- Absatznummern sollten innerhalb des Textbereichs stehen und am linken Rand ausgerichtet sein.
- Die erste Textzeile des Absatzes sollte 2,5 cm eingerückt sein (beginnend am Rand, nicht an der Zahl).
Bisher habe ich Folgendes erreicht.
\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}
Wie füge ich anstelle eines Fixwerts \hspace
nach dem Absatzzähler 2.5cm
das Minus der Länge der Absatznummer und den Punkt ein? Wenn ich beispielsweise zweistellige Absatznummern habe, \hspace
wird der Text durch den Fixwert etwas stärker eingerückt, als er sein sollte.
Irgendwelche Ideen?
Vielen Dank im Voraus.
Rossi
Antwort1
Die Werte numbox
können in einige \hbox
der angegebenen Werte eingestellt werden.
\hbox to \boxindent {content\hfill}
füllt das Feld und platziert ein Feld mit der entsprechenden Breite am Anfang des Absatzes.
\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}
Antwort2
Eine referenzierbare Variante mit einem einfachen \makebox[2.5cm]
, und \hangindent\hangafter
für den Fall, dass der linke Rand der Absätze 2,5 cm rechts vom linken Rand des Dokuments sein soll:
\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}