Re: Variable Anzahl horizontaler Linien in Tabellen
Von: Christian Hoffmann (nospam@nospam.de) [Profil]
Datum: 29.03.2008 08:29
Message-ID: <fskr64$74d$1@online.de>
Newsgroup: de.comp.text.tex
Datum: 29.03.2008 08:29
Message-ID: <fskr64$74d$1@online.de>
Newsgroup: de.comp.text.tex
Ulrich Diez schrieb: > [So wie ich es sehe, soll das "dass" hinter dem Komma wohl ein > eigentlich mit nur einem "s" geschriebenes Relativpronomen sein... ] [Das hast Du richtig gesehen! Ich bin leider kein Leser Sick-scher Bücher :-) Nächstes mal werde ich "jenes" oder "welches" verwenden. Versprochen. :-)] > > Anstelle von ifthen.sty und forloop.sty und einem Zählregister > könntest Du auch einfach das _expandible_ \replicate-Makro von > David Kastrup verwenden, welches mit Hilfe von \romannumeral > iteriert. > > Siehe hierzu: > > http://www-stary.gust.org.pl/pearls/2005/david-kastrup/bachotex2005-david-kastrup-pearl3.t ex > > Ulrich > > > \documentclass[10pt,twoside,a4paper]{book} > > \def\recur#1{\csname rn#1\recur} \long\def\rnm#1{\endcsname{#1}#1} > \long\def\rn#1{} > \def\replicate#1{\csname rn\expandafter\recur > \romannumeral\number\number#1 000\endcsname\endcsname} > > \begin{document} > \begin{tabular}{llll} > a & b & c & d \tabularnewline > \replicate{5}{\hline}% macht 5 mal \hline > a & b & c & d \tabularnewline > a & b & c & d \tabularnewline > a & b & c & d \tabularnewline > a & b & c & d > \end{tabular} > \end{document} Das angegebene Beispiel funktioniert tatsächlich. Danke dafür! Ich habe auch die anderen Makros in der .tex-Datei ausprobiert: Um das ganze kurz zusammenzufassen: - mit foreach.sty und ifthen.sty gehts nicht (siehe erster Beitrag und ursprüngliche Frage "Was mache ich falsch?") - manuell gehts, - mit dem plainTex-Ansatz gehts, - mit eTeX auch, jedoch ohne vertikale Abstände zwischen den Linien! (Wo sind die hin?) Ich präferiere eigentlich immer noch den foreach und ifthen-Ansatz mit LaTeX, welcher auch für Nicht-plainTeX-Profis (wie ich einer bin) aufgrund der an klassische imperativ prozedurale Programmiersprachen angelehnten Syntax einfacher zu verstehen ist. Auch kann man die "Laufvariable" (Zählregister) einfacher in das zu replizierende Codefragment einbauen um so z.B. die Länge/Dicke von Linien in Abhängigkeit von der Rekursionstiefe festzulegen. Vielleicht hat ja noch einer eine Idee weshalb der Fehler auftritt. Christian.[ Auf dieses Posting antworten ]
Antworten
- Christoph Bier (29.03.2008 08:58)
- Ulrich Diez (29.03.2008 09:36)
- Christoph Bier (29.03.2008 15:49)
