Anzeige:
Ergebnis 1 bis 6 von 6

Thema: for-Schleife

  1. #1
    damont
    Gast

    for-Schleife

    Servus zusammen!

    Ich moechte in LaTeX gerne eine Art for-Schleife realisieren, die mir ein 100-Seiten-Dokument zerlegt (for i = 1 to 100 do . . .). Jede Seite hat vier Folien, die ich einzeln auf jeweils einer Seite haben moechte. Hier der Code um eine (hier die erste) Seite zu zerlegen. Statt pages=1 kann man dann vielleicht eine Art Variable pages=i schreiben?

    Gruss, Damont

    \documentclass[a4paper,landscape]{article}
    \usepackage[top=0cm,bottom=0cm,left=0cm,right=0cm]{geometry}
    \usepackage{pdfpages}

    \begin{document}
    \includepdf[trim=0cm 8.5cm 13cm 0cm, clip, scale=1.7, pages=1]{folien-20040426}
    \includepdf[trim=13cm 8.5cm 0cm 0cm, clip, scale=1.7, pages=1]{folien-20040426}
    \includepdf[trim=0cm 0cm 13cm 9cm, clip, scale=1.7, pages=1]{folien-20040426}
    \includepdf[trim=13cm 0cm 0cm 9cm, clip, scale=1.7, pages=1]{folien-20040426}
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von daswaldhorn
    Registriert seit
    31.07.2003
    Ort
    Voerde
    Beiträge
    888
    Dieses Problem ist doch bestimmt was für einen Serienbrief, oder?

    Carsten

  3. #3
    damont
    Gast
    Nein, Serienbrief kann ich mir in diesem Kontext schlecht vorstellen. Eher so etwas wie (Pseudocode)

    \documentclass[a4paper,landscape]{article}
    \usepackage[top=0cm,bottom=0cm,left=0cm,right=0cm]{geometry}
    \usepackage{pdfpages}

    \newcounter{i=1}

    \begin{document}
    \while{i<=100}{
    \includepdf[trim=0cm 8.5cm 13cm 0cm, clip, scale=1.7, pages=i]{folien-20040426}
    \includepdf[trim=13cm 8.5cm 0cm 0cm, clip, scale=1.7, pages=i]{folien-20040426}
    \includepdf[trim=0cm 0cm 13cm 9cm, clip, scale=1.7, pages=i]{folien-20040426}
    \includepdf[trim=13cm 0cm 0cm 9cm, clip, scale=1.7, pages=i]{folien-20040426}
    \addtocounter{i}{1}
    }
    \end{document}

  4. #4
    Registrierter Benutzer
    Registriert seit
    10.04.2005
    Ort
    Hannover
    Beiträge
    1.854
    Du kannst selbsverständlich FOR Schleifen in LaTeX verwenden, da LaTeX ja nichts andres als eine Makrosprache für TeX ist, und TeX auch Elemente einer Programmiersprache kennt.

    Allerdings ist TeX was Programmieren angeht sehr gewöhnungsbedürftig. Es gibt z.B. keine Variablen, sondern nur Code, Zähler und Längen. Auswendig weiß ich den Code für FOR Schleifen nicht, aber du köntest dich mit der entsprechenden Doku zu TeX einlesen:

    http://www.matthiaspospiech.de/latex/pakete/#tex

    Matthias

  5. #5
    damont
    Gast
    Danke zusammen. Auf die Schnelle habe ich dann doch ein kleines Java-Programm geschrieben:

    import java.io.*;

    public class it {

    public static void main(String[] args) {

    try {
    Writer out = new BufferedWriter(new OutputStreamWriter(new
    FileOutputStream("100f.tex")));

    out.write("\\documentclass[a4paper,landscape]{article}\n");
    out.write("\\usepackage[top=0cm,bottom=0cm,left=0cm,right=0cm]{geometry}\n");
    out.write("\\usepackage{pdfpages}\n");
    out.write("\\begin{document}\n");

    for (int i = 1; i <= 100; i++) {
    out.write("\\includepdf[trim=0cm 8.5cm 13cm 0cm, clip, scale=1.7, pages=" + i +
    "]{folien-20040426}\n");
    out.write("\\includepdf[trim=13cm 8.5cm 0cm 0cm, clip, scale=1.7, pages=" + i +
    "]{folien-20040426}\n");
    out.write("\\includepdf[trim=0cm 0cm 13cm 9cm, clip, scale=1.7, pages=" + i +
    "]{folien-20040426}\n");
    out.write("\\includepdf[trim=13cm 0cm 0cm 9cm, clip, scale=1.7, pages=" + i +
    "]{folien-20040426}\n");
    }

    out.write("\\end{document}\n");
    out.close();
    } catch (Exception e) {}
    }
    }

  6. #6
    Registrierter Benutzer Avatar von daswaldhorn
    Registriert seit
    31.07.2003
    Ort
    Voerde
    Beiträge
    888
    na also, selbst ist der Mann...

    Carsten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •