PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Makro: mehr als 9 Argumenten



webhenni
04-05-2010, 20:19
Hallo,
Ich muss einen Projektplan erstellen. Bzw: Ich bin bei uns in der Gruppe, der Mann für die Latex Aufgabe ;-)

So wir müssen so 30 Arbeitspakte erstellen. Da dachte ich mir schreibste ein Makro, weil sonst darfste nachher bei 30 Arbeitspakten das Layout ändern.

Klappt auch wunderbar, bis auf das Problem, dass ich eigentlich 11 Argumenten brauche.

Das ganze Makro gibt dann eine Tabelle aus. Ich kann das ganze natürlich umgehen, indem ich beim Aufruf des Makros sowas mache:


\makepage{1}{2}{3}{4}{5}{6}{7}{8}{9 \\
\hline 10}

Dann ruf ich im Makrodefintionsteil #9 auf und es geht...

So würde er dann einfach meine Tabelle weiterzeichnen. Nun ist das ganze bei mir aber ein wenig komplexer und geht dann über mehrere Zeilen. Es funktioniert zwar, aber sollte ich nun was ändern müssen, muss ich das ja wieder an 30 Stellen ändern, auch wenn der Hauptteil im Makro steht.


Hat da jemand eine Idee?

Oder bin ich vielleicht auf dem Holzweg und Makros sind gar nicht der richtige Lösungsweg ?
Ich möchte halt eine etwas größere Tabelle mit 11 Feldern aufstellen, wobei ein Felüberschriften und Style gerne zentral machen würde, damit ich es halt nicht ständig ändern muss.


Vielen Dank schonmal

lockstep
04-05-2010, 21:00
Ich habe zwar nicht verstanden, wozu genau du ein 11-Argument-Makro brauchst, aber dieser (http://www.tex.ac.uk/cgi-bin/texfaq2html?label=moren9) Abschnitt der UK TeX FAQ dürfte dich interessieren.

lockstep

sarc
04-05-2010, 21:04
Wie wärs mit ner Umgebung, die die Tabelle an sich erzeugt, und dann einzelnen Befehlen, die die Elemente setzen?

mechanicus
04-05-2010, 21:10
Hi,


\setcounter{errorcontextlines}{100}
\documentclass{article}
\def\makepage#1#2#3#4#5#6{Eingabe #1\\Eingabe #2\\Eingabe #3 \\Eingabe #4\\Eingabe #5\\Eingabe #6\\\makepageII}
\def\makepageII#1#2#3#4#5{Eingabe #1\\Eingabe #2\\Eingabe #3 \\Eingabe #4\\Eingabe #5}

\begin{document}
\makepage{foo}{bar}{foo}{bar}{foo}{bar}{foo}{bar}{ foo}{bar}{foo}
\end{document}

Gruß
Marco

EDIT: MERKE -- ERST AKTUALISIEREN :-)