nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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