Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Erstellen eines Serienbriefs mit externen Daten funktioniert nicht mehr

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.04.2009
    Beiträge
    223

    Erstellen eines Serienbriefs mit externen Daten funktioniert nicht mehr

    Hallo zusammen,
    ich habe seit Jahren Serienbriefe mit externen Daten wie unter https://de.wikibooks.org/wiki/LaTeX-...externen_Daten erstellt. Seit einiger Zeit funktioniert das aber nicht mehr. Es gibt keine Fehlermeldung im LaTeX-Log, allerdings wird nur der erste Eintrag in der csv-Datei abgearbeitet und nicht alle weiteren Einträge. Dementsprechend bekomme ich keinen Serienbrief, sondern nur einen Brief. Dokumente, die vorher problemlos kompiliert haben, funktionen nun nicht mehr. Ich nutze ein aktuelles MikTeX unter Windows 10. Hat jemand eine Idee, woran der beschriebene Fehler liegen könnte?

  2. #2
    Registrierter Benutzer
    Registriert seit
    24.04.2009
    Beiträge
    223
    Ich habe das Problem jetzt mal noch ein bisschen eingegrenzt. Es liegt an einem \section-Befehl innerhalb des Serienbriefes, wenn nur ein Brief und nicht die ganze Serie erstellt wird. Siehe folgendes Minimalbeispiel:
    Code:
    \documentclass{scrartcl}
    
    \begin{filecontents*}{test.csv}
    1;Egon;Olsen
    2;Benny;Frandsen
    3;Kjeld;Jensen
    \end{filecontents*}
    
    % Dateiname festlegen (Der Dateiname darf keine Unterstriche enthalten.)
    \def\filename{test.csv}
    
    % Befehl zum Parsen der Zeilen
    \def\chopline#1;#2;#3 \\{
    	\def\nummer{#1}
    	\def\vorname{#2}
    	\def\name{#3}
    }
    \newif\ifmore\moretrue
    
    \begin{document}
    
    % Quelldatei einlesen
    \newread\quelle
    \openin\quelle=\filename
    
    % Schleife über alle Zeilen der Quelldatei
    \loop
    	% einzelne Zeile einlesen
    	\read\quelle to \zeile
    	% prüfen, ob das Dateiende erreicht wurde
    	\ifeof\quelle
    		\global\morefalse
    	% Seite erzeugen
    	\else
    		\expandafter\chopline\zeile\\
    
    \section{Mitglied}
    
    \begin{labeling}{Nachname:~}
    	\item[Nummer:] \textbf{\nummer}
    	\item[Vorname:] \textbf{\vorname}
    	\item[Nachname:] \textbf{\name}
    \end{labeling}
    
    	\fi
    	% neue Seite beginnen
    	\newpage
    	% Zähler zurücksetzen
    	\setcounter{section}{0}
    \ifmore\repeat
    % Ende der Schleife über alle Zeilen
    
    % Quelldatei schließen
    \closein\quelle
    
    \end{document}
    Nimmt man den \section-Befehl hinaus, geht es, mit dem Befehl leider nicht.

    Das Problem scheint MiKTeX-spezifisch zu sein, jedenfalls tritt der Fehler in TeXLive bei Overleaf (siehe https://www.overleaf.com/read/dpbcvsngjfsx) nicht auf.

Lesezeichen

Berechtigungen

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