PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei in Tabelle einlesen



rednammoc
27-05-2008, 16:56
Hi alle zusammen,
Mein erstes Posting hier :D
Ich möchte mit Latex Daten aus einer Datei in eine Tabelle schreiben. Leider bringt er mir beim Versuch dies zu verwirklichen immer den Fehler "Undefined control sequence. \ifmore \repeat". Habe im Netz nicht wirklich was gefunden . . . :-/

Hier der Code:


\documentclass[a4paper]{book}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{ifthen,longtable,tabularx}
\newif \ifmore \moretrue

\begin{document}

\def\chopline#1;#2 \\{
\def\x{#1}
\def\y{#2}
}
\newread\source
\openin\source=tables/data.table

\begin{tabular}{ll}
\loop
\read\source to \line
\ifeof\source
\global\morefalse
\else
\expandafter\chopline\line\\
\x & \y \\
\fi
\ifmore \repeat
\closein\source
\end{tabular}
\end{document}


Wenn ich es außerhalb einer Tabelle ausführe, klappt alles. Wo liegt mein Fehler ? Könnt ihr mir helfen?

Viele Grüße
red


Quellen:
http://www.mrunix.de/forums/showthread.php?t=54877&highlight=datei+einlesen
http://de.wikibooks.org/wiki/LaTeX-W%C3%B6rterbuch:_Serienbrief_mit_externen_Daten

rednammoc
28-05-2008, 15:44
Gleiches Problem mit "whiledo{ }{ }". Sobald ich ein "&"-Zeichen einfüge, hagelt es Fehlermeldungen:


Missing } inserted. } (followed by: )
Missing } inserted. \end{tabular} (followed by: )
Undefined control sequence: } (followed by: )




\def\chopline#1;#2 \\{
\def\x{#1}
\def\y{#2}
}
\newcounter{next}
\setcounter{next}{1}
\newread\quelle
\begin{tabular}{ll}
\textbf{hello} & \textbf{hello} \\
\openin\quelle=tables/02_streudiagramm.table
\whiledo{\value{next}>0}{%
\read\quelle to \zeile
\ifeof\quelle
\setcounter{next}{0}
\else
\expandafter\chopline\zeile\\
\x &\y \tabularnewline
\fi
}
\closein\quelle
\end{tabular}


Hat niemand eine Ahnung woran das liegen könnte ?

Grüße
red

voss
29-05-2008, 14:21
Hi alle zusammen,
Mein erstes Posting hier :D
Ich möchte mit Latex Daten aus einer Datei in eine Tabelle schreiben. Leider bringt er mir beim Versuch dies zu verwirklichen immer den Fehler "Undefined control sequence. \ifmore \repeat". Habe im Netz nicht wirklich was gefunden . . . :-/

Wenn ich es außerhalb einer Tabelle ausführe, klappt alles. Wo liegt mein Fehler ? Könnt ihr mir helfen?


TeX sucht am Anfang einer Spalte nach speziellen, die Tabelle betreffenden
Befehlen und würde somit deinen ganzen loop durchgehen. Deswegen lagert
man in solchen Fällen auch \begin{tabular} und \end{tabular} aus.

Herbert

rednammoc
01-06-2008, 14:39
Danke für deine Antwort.



Deswegen lagert man in solchen Fällen auch \begin{tabular} und \end{tabular} aus.


Wie meinst du das mit dem auslagern ? Und was ist eigentlich so schlimm daran, wenn er den ganzen Loop durchgeht. Damit entsteht ja erst die Tabelle.

Grüße
Red

rednammoc
05-06-2008, 22:52
Hey,
habe leider noch immer keine Ahnung was damit gemeint war. Kann mir wirklich keiner weiterhelfen ?
Grüße
red

rednammoc
10-06-2008, 18:04
Schließlich haben sich doch Leute in anderen Foren meiner Frage angenommen. Da ich jedoch nicht so bin, kriegt ihr auch den Lösungsvorschlag :D

CSV-Tools sollte diese Aufgabe bestens erledigen können:
http://tug.ctan.org/cgi-bin/search.py?metadataSearch=CSV&metadataSearchSubmit=Search

Grüße
red

edico
10-06-2008, 18:51
Nun, es freut mich - ich will nicht anmassend sein und sagen: uns - sehr, dass andere Boards sich Deiner Frage angenommen haben. Allerdings muss ich konstatieren, Deine Aussage ist grundlegend falsch: ich kann nicht erkennen, dass Du hier nicht eine kostenlose Beratung bekommen hast. Dass sie Dir anscheinend nicht erklärend genug war, mag durchaus sein. Ich will nicht hinschauen, welche Aspekte dazu geführt haben. Allerdings darf ich mir erlauben hinzuzufügen, dass Du das Naheliegendste nicht bemüht hast - nach dem schlichten Motto: Wer lesen kann, ist im Vorteil. Hättest Du nur die Suche angeschmissen, auch nur Deine Headline eingegeben, hättest Du unweigerlich einen Hinweis auch auf diesen Thread bekommen:
http://www.mrunix.de/forums/showthread.php?t=45598&highlight=excel+tabelle+latex

Und siehe da! Dort steht nicht nur die Lösung, die uns so grossartig mitteilst, sondern sogar ein selbsterklärendes Beispiel! Es soll hier nicht wiederholt werden, ist der Link doch unverzüglich klickbar.

edico

rednammoc
10-06-2008, 19:40
Du Schlingel du :D
Warum hast du nicht schon vorher geantwortet.
Danke auf jeden Fall für den Tipp und den vielversprechenden Link!

Grüße
red