hastlaug
22-10-2007, 15:10
Hallo,
ich bastle gerade an der Hintergrundfarbe meines Dokuments, benutze dafür allerdings ganz bewusst nicht \pagecolor, da ich mit dem crop-Paket Schnittmarken setze und letztlich nur einen kleinen Teil der Seite ausschneide - daher möchte ich auch nur für diesen Bereich die Hintergrundfarbe setzen, um beim Druck keinen Toner zu verschwenden.
Folgendes funktioniert an sich ganz gut:
%% include pagecolor
\newdimen\bgoverlap
\newdimen\bgwidth
\newdimen\bgheight
\def\AddPagecolor#1#2{
\AddToShipoutPicture{%
\AtPageCenter{%
\makebox(0,0)[c]{%
\colorbox#1{#2}{%
\bgoverlap=1mm%
\addtolength{\bgoverlap}{-\fboxsep}%
\bgwidth=\bgoverlap%
\bgheight=\bgoverlap%
\addtolength{\bgwidth}{\paperwidth}%
\addtolength{\bgheight}{\paperheight}%
\parbox[0pt][\bgwidth][c]{\bgheight}{\vfill\hfill}%
}%
}%
}%
}%
}
Allerdings frage ich mich: Gibt es auch eine Möglichkeit temporäre/lokale Variablen zu verwenden? Die globale Definition meiner Dimensionen erscheint mir etwas unsauber.
Außerdem würde ich gerne global den Wert für \bgoverlap setzen - nur wie? Wenn ich dies auf die "herkömmliche" Art mache, also \bgoverlap=1mm oder \setlength{\bgoverlap}{1mm} dann kommt dieser Wert nie innerhalb von \AddPagecolor an, sondern scheint dort wieder 0 zu sein. Was mache ich falsch?
Schöne Grüße,
Hans
ich bastle gerade an der Hintergrundfarbe meines Dokuments, benutze dafür allerdings ganz bewusst nicht \pagecolor, da ich mit dem crop-Paket Schnittmarken setze und letztlich nur einen kleinen Teil der Seite ausschneide - daher möchte ich auch nur für diesen Bereich die Hintergrundfarbe setzen, um beim Druck keinen Toner zu verschwenden.
Folgendes funktioniert an sich ganz gut:
%% include pagecolor
\newdimen\bgoverlap
\newdimen\bgwidth
\newdimen\bgheight
\def\AddPagecolor#1#2{
\AddToShipoutPicture{%
\AtPageCenter{%
\makebox(0,0)[c]{%
\colorbox#1{#2}{%
\bgoverlap=1mm%
\addtolength{\bgoverlap}{-\fboxsep}%
\bgwidth=\bgoverlap%
\bgheight=\bgoverlap%
\addtolength{\bgwidth}{\paperwidth}%
\addtolength{\bgheight}{\paperheight}%
\parbox[0pt][\bgwidth][c]{\bgheight}{\vfill\hfill}%
}%
}%
}%
}%
}
Allerdings frage ich mich: Gibt es auch eine Möglichkeit temporäre/lokale Variablen zu verwenden? Die globale Definition meiner Dimensionen erscheint mir etwas unsauber.
Außerdem würde ich gerne global den Wert für \bgoverlap setzen - nur wie? Wenn ich dies auf die "herkömmliche" Art mache, also \bgoverlap=1mm oder \setlength{\bgoverlap}{1mm} dann kommt dieser Wert nie innerhalb von \AddPagecolor an, sondern scheint dort wieder 0 zu sein. Was mache ich falsch?
Schöne Grüße,
Hans