Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Probleme Formatierung - eingelesene Daten aus Textdatei

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.04.2007
    Beiträge
    20

    Exclamation Probleme Formatierung - eingelesene Daten aus Textdatei

    Hallo Ich habe folgendes Problem:

    Ich möchte eine Tabelle anlegen, in der mehrere Bilder sind und darunter jeweils die Beschreibung der Person etc.
    auf "manuellem Wege" hab ich dies in untemstehenden Code gelöst. Das Ergebnis findet sich in der angehängten Datei unter Test1.pdf

    Nun möchte ich die Daten aus einer Textdatei einlesen und mir somit bei über 50 Personen einiges an schreibaufwand ersparen. Außerdem ists so leichter Personen in alpahbetischer Reihenfolge einzufügen. Auch hier habe ich bereits ein Minimalbespiel, dies findet sich unten unter "vorläufige Lösung". Hier nun mein Problem: Ich erreiche mit diesem automatisierten Beispiel nicht die Formatierung wie ich Sie in meinem manuellen Beispiel verwirktlicht habe. Wenn ich ein longtable einfüge dann krieg ich die Daten da irgendwie nicht rein. Hat da jemand ne Idee. Wäre euch echt dankbar!!
    Alle benötigten Dateien sind gezippt angehängt.

    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{longtable}
    \usepackage{graphicx}
    
    \begin{document}
    \begin{tiny}
    \begin{longtable}{ccccc}
    
    \includegraphics[height=3cm]{martin} &\includegraphics[height=3cm]{robert} &\includegraphics[height=3cm]{philipp}&\includegraphics[height=3cm]{bernie}&\includegraphics[height=3cm]{kathrin1}\\
    \footnotesize{Martin Muster} & \footnotesize{Robert Muster} & \footnotesize{Philipp Muster} & \footnotesize{Bernie Muster} & \footnotesize{Kathrin Muster} \\
    S. \pageref{person:mmuster}& S. \pageref{person:rmuster} & S. \pageref{person:pmuster} & S. \pageref{person:bmuster}  & S. \pageref{person:kmuster}\\
    
    
    \includegraphics[height=3cm]{martin} &\includegraphics[height=3cm]{robert} &\includegraphics[height=3cm]{philipp}&\includegraphics[height=3cm]{bernie}&\includegraphics[height=3cm]{kathrin1}\\
    \footnotesize{Martin Muster} & \footnotesize{Robert Muster} & \footnotesize{Philipp Muster} & \footnotesize{Bernie Muster} & \footnotesize{Kathrin Muster} \\
    S. \pageref{person:mmuster}& S. \pageref{person:rmuster} & S. \pageref{person:pmuster} & S. \pageref{person:bmuster}  & S. \pageref{person:kmuster}\\
    
    
    \end{longtable}
    \end{tiny}
    
    
    \label{person:mmuster}\label{person:rmuster}\label{person:pmuster}\label{person:bmuster}\label{person:kmuster}
    
    \end{document}
    Beispiel: "vorläufige Lösung"
    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{longtable}
    \usepackage{graphicx}
    
    
    \def\chopline#1;#2;#3;#4 \\{
     \def\vorname{#1}
     \def\name{#2}
      \def\reference{#3}
    \def\bild{#4}
    }
    
    \newif\ifmore \moretrue
    
    \begin{document}
    
    
    \newread\quelle
    \openin\quelle=Daten.dat
    
    \loop
     \read\quelle to \zeile
     \ifeof\quelle
      \global\morefalse
     \else
      \expandafter\chopline\zeile\\
    
      \includegraphics[height=3cm]{\bild}\\
      \footnotesize{\vorname~\name}\\
      S.~\pageref{\reference}\\
    
     \fi
    \ifmore\repeat
    
    \closein\quelle
    
    
    \label{person:mmuster}\label{person:rmuster}\label{person:pmuster}\label{person:bmuster}\label{person:kmuster}
    
    \end{document}
    Aufbau der Daten.dat:
    Martin;Muster;person:mmuster;martin
    Robert;Muster;person:rmuster;robert
    Philipp;Muster;person:pmuster;philipp
    Bernie;Muster;person:bmuster;bernie
    Kathrin;Muster;person:kmuster;kathrin1

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    und wenn Du es so versuchst:
    Code:
    \documentclass[12pt]{scrbook}
    \usepackage{ifthen,longtable,tabularx}
    \usepackage{graphicx}
    \newcolumntype{C}{>{\centering\arraybackslash}p{0.2\linewidth}}
    \newcounter{mycol}
    \newcounter{mynxt}
    \def\chopline#1;#2;#3;#4 \\{
     \def\vorname{#1}
     \def\name{#2}
      \def\reference{#3}
    \def\bild{#4}
    }
    \newread\quelle
    \newcommand\tabularnewcol{&}
    \begin{document}
    
    \begin{longtable}{CCCC}
    \openin\quelle=Daten.dat
    \setcounter{mycol}{0}
    \setcounter{mynxt}{1}
    \whiledo{\themynxt>0}{%
     \read\quelle to \zeile
     \ifeof\quelle
      \setcounter{mynxt}{0}
     \else
      \expandafter\chopline\zeile\\
      \includegraphics[height=3cm]{\bild}\par
      {\footnotesize\vorname~\name}\par
      S.~\pageref{\reference}
      \stepcounter{mycol}
      \ifnum\themycol>3 \setcounter{mycol}{0}\tabularnewline\else\tabularnewcol\fi
     \fi
    }
    \ifnum\themycol<4\tabularnewline\fi
    \closein\quelle
    \end{longtable}
    
    \label{person:mmuster}\label{person:rmuster}\label{person:pmuster}\label{person:bmuster}\label{person:kmuster}
    
    \end{document}
    ?
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.04.2007
    Beiträge
    20
    Thx.
    Bis ich auf die Lösung gekommen wäre hätte ich wohl noch Tage gebraucht! Funktioniert super.
    Eine kleine Frage hab ich noch: Bei der manuellen Lösung bekomme ich dadurch, dass der ganze "longtable" tiny gesetzt ist, 6 Bilder untereinander (also 30 pro Seite). Mach ich das aber jetzt bei der automatisierten Version ist alles durcheinander. Woran kann das liegen?

    Gruß

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von technman Beitrag anzeigen
    Bei der manuellen Lösung bekomme ich dadurch, dass der ganze "longtable" tiny gesetzt ist, 6 Bilder untereinander (also 30 pro Seite). Mach ich das aber jetzt bei der automatisierten Version ist alles durcheinander. Woran kann das liegen?
    daran, dass ich nur vier statt fünf Spalten deklariert hab'?
    Oder \tiny ignoriert hab'?
    BTW: der vertikale Abstand scheint mir hier insgesamt etwas größer zu sein, als in Deinem manuellen Test; evtl. liegt es an vergessenen %-Zeichen so zum Zeilenende in der Definition?

    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

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