PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenränder lökal ändern



rafael
13-11-2012, 17:19
Ich möchte bei einen Absatz mit Zeilennummerierung (lineno) die Textbreite anpassen. Alle mir bekannten Umgebungen (list, addmargin, quote usw.) versetzen zwar den Text, ändern aber nicht die Position der Zeilennummern, weil lineno die Nummern immer relativ zum Seitenrand setzt (Ausnahme: bei multicol setzt lineno in den colsep).

Damit die Zeilennummern also immer richtig relativ zum Text gesetzt werden, müssten, wenn ich das richtig sehe die Seitenränder (\textwidth, \oddmarginwidth usw.) angepasst werden.
geometry oder changepage verändern aber die Seitenränder für die gesamte Seite.

Gibt es eine Lösung, die Seitenränder lokal zu ändern?
Oder Alternativ: Kann man lineno sagen, wo die linenumber platziert werden soll?



\documentclass{scrartcl}

\usepackage{blindtext}
\usepackage{lineno}

\begin{document}
\begin{linenumbers}

\blindtext

%%hier klappt es nicht
\begin{addmargin}{3cm}\blindtext\end{addmargin}

%%hier klappt es nicht
\begin{quotation}\blindtext\end{quotation}
\end{linenumbers}

\end{document}

bobmalaria
13-11-2012, 17:58
hi,

so scheint man das verwursten zu koennen...


\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[babel]{microtype}

\usepackage{blindtext}
\usepackage{lineno,calc}

\newlength{\my}
\begin{document}
\begin{linenumbers}

\blindtext

\begin{addmargin}{3cm}
\setlength{\my}{\leftmargin-2\linenumbersep}%
\renewcommand\makeLineNumber{\hspace{\my}\linenumb erfont\thelinenumber\hss}

\blindtext

\end{addmargin}

\end{linenumbers}

\end{document}

warum man 2x \linenumbersep von leftmargin abziehen muss damit es optisch stimmt weiss ich nicht, 1x scheint zu wenig. du koenntest jetzt hergehen und eine neue umgebung defineiren damit du dir sparst jedes mal diese beiden zeilen zu schreiben/zu kopieren.

http://www.mrunix.de/forums/attachment.php?attachmentid=5467&stc=1&d=1352825878

rafael
16-11-2012, 13:19
schöne Lösung.