PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dynamisches Karomuster



campa
26-02-2011, 19:31
Hallo Zusammen,

ich möchte in Latex dynamisch ein Karomuster erzeugen. Mal gleich zu Anfang, kennt jemand vielleicht schon ein Paket, was das erledigt? :-) Ansonsten habe ich im Netz auch ein schönes Makro gefunden:


\usepackage[calc]{picture}
\newlength{\karo}
\newlength{\xkaro}
\newlength{\ykaro}
\newcounter{xkar}
\newcounter{ykar}
\definecolor{hellgrau}{gray}{.6}
%x-Anzahl und y-Anzahl als Argument
\newcommand{\kariert}[2]{ %
\setlength{\unitlength}{1mm}\definecolor{hellgrau} {gray}{.6} %
\setcounter{xkar}{#1}
\setcounter{ykar}{#2}
\setlength{\karo}{5.0mm}
\setlength{\xkaro}{\value{xkar}\karo}
\setlength{\ykaro}{\value{ykar}\karo}
\stepcounter{xkar}
\stepcounter{ykar}
\begin{picture}(\xkaro,\ykaro) %
\color{hellgrau} %
\linethickness{0.12mm} %
\multiput(0,0)(5,0){\value{xkar}}{\line(0,1){\ykar o}} %
\multiput(0,0)(0,5){\value{ykar}}{\line(1,0){\xkar o}} %
\end{picture}
}

Das ist auch ganz nett und macht seinen Dienst ganz gut. Was allerdings etwas nervig ist, man kann mit der Breite über den Zeilenrand hinausschreiben und entsprechend auch unten auf der Seite rüberschreiben.
Für die Textbreite wurde das Problem einfach durch


\newlength{\xkaromax}
\setlength{\xkaromax}{\textwidth}
\divide\xkaromax by \karo
gelöst. Nun dachte ich mir, das müsste ja auch mit textheight gehen, aber textheight bezieht sich nur auf die Gesamthöhe des Dokuments und nicht auf die Höhe des geschriebenen Textes..
Die Frage ist nun, gibt eine Möglichkeit diese Höhe zu bekommen? Die aktuelle Texthöhe oder der Abstand zum Seitenende.

Danke schonmal.

Grüße
Daniel

rais
27-02-2011, 20:55
Moin moin,


Für die Textbreite wurde das Problem einfach durch


\newlength{\xkaromax}
\setlength{\xkaromax}{\textwidth}
\divide\xkaromax by \karo
gelöst.

öhm, ja, aber mit dieser neu definierten Länge `\xkaromax' machst Du hier ja nix ...


Nun dachte ich mir, das müsste ja auch mit textheight gehen, aber textheight bezieht sich nur auf die Gesamthöhe des Dokuments und nicht auf die Höhe des geschriebenen Textes..

Ja, und? Bezieht sich \textwidth bei Dir denn auf die, hmm, Restbreite?


Die Frage ist nun, gibt eine Möglichkeit diese Höhe zu bekommen? Die aktuelle Texthöhe oder der Abstand zum Seitenende.

Vergleiche mal \pagegoal mit \pagetotal

MfG

campa
01-03-2011, 17:39
Hallo Rainer!

ja, du hast recht. In meinem Beispiel habe ich es nicht verwendet. Aber ich habe die neue Anzahl \xkaromax an die Funktion übergeben.

Richtig, textwidth bezieht sich nicht auf die noch übrige Breite.. aber in die Richtung will ich auch nicht mit Kästchen auffüllen.

Dein Tipp mit \pagegoal und \pagetotal war gut und ich habe das Problem gelöst.. Ich glaube ich habe mal einen Beitrag von dir zu einem variablen Rahmen gelesen und den Code für mich angepasst :)

Vielen Dank!