goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 101644
Top-Poster: Johannes_B (5071)

Wir begrüßen unseren neuesten Benutzer Johannes2020.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Seriendruck mit LaTeX oder externer Script-Lösung?

 

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 690
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2018, 11:17     Titel: Seriendruck mit LaTeX oder externer Script-Lösung?
  Antworten mit Zitat      
Ich kämpfe derzeit (projektteam-gezwungen) mit MS Office hinsichtlich Seriendruck von Fragebögen und auch Briefen. Beim nächsten Mal wird es wieder *TeX! Very Happy

Ein Szenario sind Fragebögen auf dennen (für jeden Probanden) unterschiedliche Nummern (z. B. in der Fußzeile) gedruckt werden. Das erinnert mich an die Serienbrief-Funktion von KOMA-Script, wo man mit einer externen adress-Datei arbeitet und frei Felder definieren kann. Das ist aber eben auf Briefe gemünzt.

Gibt es eine ähnliche *TeX-Lösung auch für Nicht-Brief Dokumente?

Pseudocode-Beispiel
Code

\documentclass{...}
\datasource{meine-ids.dat}
\begin{document}
\field{ID}
\end{document}
 


Oder ist es einfacher bzw. flexibler sich den *TeX code mit einem eigenen Script (z. B. Python) zusammenzustöpseln? Dann hätte man am Ende ein sehr großes tex-Dokument aus dem viele 1000 PDF-Seiten generiert würden.
_________________

XeLaTeX, TeX Live, vim-latexsuite
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2018, 12:15     Titel:
  Antworten mit Zitat      
Das kommt auch den konkreten Zweck an. Aber das Prinzip der Serienbriefe bei scrlttr2, den Brief als Anweisung zu definieren und dann diese Anweisung mit unterschiedlichen Parametern immer wieder aufzurufen, ist natürlich auch auf andere Dokumente übertragbar. Man kann die Daten auch aus einer Datenbank ziehen bzw. eine dafür anlegen. Siehe dazu datatool.

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 690
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2018, 14:26     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Aber das Prinzip der Serienbriefe bei scrlttr2, den Brief als Anweisung zu definieren und dann diese Anweisung mit unterschiedlichen Parametern immer wieder aufzurufen, ist natürlich auch auf andere Dokumente übertragbar.

Das erfordert wahrscheinlich TeX-Kenntnisse? Da müsste ich passen. Wink

datatool sieht für meine Zwecke sinnvoll aus.

Gibt es etwas gegen die Lösung einzuwenden, mit einem Python script basierend auf einer Datenbank/CSV sich den TeX code selbst zusammenzustöpseln? Es wäre mit XeLaTeX. Gibt es dann irgendwelche Memory Grenzen? Sagen wir mal 1000 Datensätze die jeweils 6 Seiten generieren würden - also ein 6000 Seiten PDF am Ende rauskommt.
_________________

XeLaTeX, TeX Live, vim-latexsuite
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2018, 15:44     Titel:
  Antworten mit Zitat      
MoonKid hat Folgendes geschrieben:
Das erfordert wahrscheinlich TeX-Kenntnisse?

Nein, nur LaTeX und das solltest du nach 6 Jahren langsam können oder dringend mal lernen. Außerdem ist das streng genommen im Serienbriefabschnitt in der KOMA-Script-Anleitung erklärt.

MoonKid hat Folgendes geschrieben:
Gibt es etwas gegen die Lösung einzuwenden, mit einem Python script basierend auf einer Datenbank/CSV sich den TeX code selbst zusammenzustöpseln?
Solange du im stillen Kämmerchen etwas zusammenrührst, geht uns das ohnehin nichts an. Also hat dann auch niemand etwas einzuwenden. Wenn es (beispielsweise aufgrund von Fragen in Foren) in die Öffentlichkeit gezerrt wird, sollte es allerdings nicht allzu zusammengestöpselt, sondern ordentlich entworfen und implementiert sein. Das ist dann allerdings auch keine Frage für dieses Forum mehr. Für Python suchst du dir bitte ein passendes Forum.

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 690
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2018, 21:57     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
MoonKid hat Folgendes geschrieben:
Das erfordert wahrscheinlich TeX-Kenntnisse?

Nein, nur LaTeX und das solltest du nach 6 Jahren langsam können

Es ist mir neu das man mit LaTeX oder XeTeX Schleifen "programmieren" könnte. Aber ok, wenn du meinst, weiß ich ja wonach ich suchen muss.

Anonymous hat Folgendes geschrieben:
MoonKid hat Folgendes geschrieben:
Gibt es etwas gegen die Lösung einzuwenden, mit einem Python script...

(snipped)

Da habe ich mich wahrscheinlich unklar ausgedrückt. Meine Frage bezog sich nicht auf Python, sondern darauf, ob so etwas (mehrere tausend Seiten) zu einem Speicherproblem für *TeX werden könnte. Da gibt es ja irgendwelche Grenzen bei den Registern.
_________________

XeLaTeX, TeX Live, vim-latexsuite
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2018, 07:52     Titel:
  Antworten mit Zitat      
Was hat die Anzahl der Seiten damit zu tun, wieviele Register und wieviel Speicher benötigt wird? Sobald eine Seite ausgegeben ist, belegt sie i. A. keinen Speicher mehr. Probier es einfach aus:
Code
\documentclass{article}
\usepackage{etoolbox}
\usepackage{mwe}

\begin{document}
\tableofcontents
\whileboolexpr{ test {\ifnumcomp{\value{page}}{<}{10000}} } {%
  \Blinddocument
}

\end{document}

Aber nicht wundern: Das ganze dauert vielleicht zwei, drei Minuten. Auf Overleaf sollte man das nicht unbedingt ausprobieren.

MoonKid hat Folgendes geschrieben:
Es ist mir neu das man mit LaTeX oder XeTeX Schleifen "programmieren" könnte.

Ich sag doch: Es wird Zeit, dass Du LaTeX lernst. Besorg Dir mal eine gutes Buch, das nicht bei den Standardklassen aufhört. Im übrigen arbeiten die Serienbriefe von KOMA-Script gar nicht mit einer Schleife. Das wurde eigentlich oben auch schon erwähnt. Auf der anderen Seite habe ich gerade gezeigt, dass es Schleifen gibt. datatool arbeitet bietet ebenfalls eine Art Schleife: Iteration über alle Datenbankeinträge. Weiterer Tipp: Anleitungen lesen!

BTW: Die Registerbegrenzung trifft bei XeLaTeX und PDFLaTeX nur noch auf wenige Dinge zu, beispielsweise File-Handles. Ansonsten basieren beide auf e-TeX, das die meisten Beschränkungen aufhebt. Und natürlich kann man gerne auch LuaLaTeX verwenden. Da sind all diese Beschränkungen aufgehoben, weil es nicht mehr mit statischen Arrays arbeitet. Außerdem kann man auf Lua-Ebene alles machen, was eine prozedurale Programmiersprache so hergibt. Man muss ja nicht unbedingt auf 1987 stehen bleiben (wobei es Schleifen mit LaTeX damals auch schon gab).

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2020 goLaTeX.de