Große Tabelle mit \csvreader

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Große Tabelle mit \csvreader

von Besserwisser » Di 30. Jul 2013, 09:45

martinli hat geschrieben:Ob das etwas ändert?
Warum probierst Du es nicht aus?

PS: Bitte achte auf den korrekten Status.

von martinli » Mo 29. Jul 2013, 21:44

Ja, irgend etwas werde ich dort anders machen. wenn ich wüsste was?
Als einziges fällt mir auf: Es ist eine Einreihige CSV:

Text
texta
textb
textc \begin{itemize} \item Textd \end{itemize}

Wobei die Tabelle später 3 Reihen hat. Ob das etwas ändert?

Für Hilfe wäre ich sehr Dankbar.

Viele Grüße

Martin

von Besserwisser » Mo 29. Jul 2013, 17:44

Dann machst Du dort etwas signifikant anders, hast aber einen Anhaltspunkt indem Du die Unterschiede Schritt für Schritt angleichst. Ist doch schön. Was ist dann Dein Problem?

von martinli » Mo 29. Jul 2013, 17:36

Ja, die sache mit dem CSV verstehe ich, das \begin{itemize}... darf kein Zeilenumbruch haben.
Aber ich nutze ein anderes PDF mir einer aber sehr viel übersichtlicheren Tabelle und da funktioniert Itemize.

Viele Grüße

Martin

von Noch so einer » Mo 29. Jul 2013, 17:33

Johannes_B hat geschrieben:LaTeX-Anweisungen haben in so einer Datenbank nichts verloren.
Das ist nicht ganz richtig. Manche LaTeX-Anweisungen sind durchaus möglich, wie auch das TikZ-Beispiel in der Anleitung des Pakets zeigt. Es sind aber keine beliebigen Umgebungen möglich und mehrere Zeilen innerhalb eines Datums verbieten sich schon aus dem Grund, dass in CSV ein Datensatz normalerweise aus genau einer Zeile besteht.

von Johannes_B » Mo 29. Jul 2013, 15:11

Wie mein Vorredner bereits schreibt, klappt das so nicht. csv steht für comma-separated-value. Das bedeutet, dass ein Computer die Spalten selbstständig erkennen, und so automatiesiert die Datenbank in irgend einer Art darstellen oder verarbeiten kann. LaTeX-Anweisungen haben in so einer Datenbank nichts verloren.

von Noch so einer » Mo 29. Jul 2013, 15:06

Ich glaube, Du hast nicht verstanden, was csv bedeutet. Dabei ist jede Zeile ein neuer Datensatz! Was Du da in die csv-Datei schreibst, ist also Unfug! Aber, selbst wenn man es in eine Zeile packt, kann csvsimple das nicht verarbeiten. In solchen Fällen ist es wohl besser, sich ein perl-Script o. ä. zu schreiben, um aus den Daten echten LaTeX-Code zu machen, den man mit \input lädt.

Darüber hinaus benötigen p-Spalten zwingend eine Breitenangabe. Du solltest Dir mal eine ausführliche LaTeX-Anleitung zulegen und die auch durcharbeiten.

Außerdem solltest Du den Status aktuell halten. Wenn Du eine Rückfrage beantwortet hast, ist der Status "Rückfrage" nicht mehr passend.

von martinli » Mo 29. Jul 2013, 14:50

Ob es etwas mit dem Csvreader zu tun hat weiß ich leider nicht.

Hier das Minimalbeispiel:
\documentclass[12pt,oneside,a4paper]{scrartcl}
\usepackage{textcomp}  %Sonderzeichen
%% CSV SIMPLE für Tabellen aus CSV
\usepackage{csvsimple}
\usepackage{pdflscape}%Für querformatige Seiten
\begin{filecontents*}{ra-test.csv}
Activity,Hazard,Consequence,Type,la,ca,rra,tb,lb,cb,rrb,tc,lc,cc,rrc,date
Activity,Hazard,\begin{itemize}
\item Test1
\item Test2
\item Test3
\end{itemize},Type,la,ca,rra,tb,lb,cb,rrb,tc,lc,cc,rrc,date
\end{filecontents*}

\begin{document}

\begin{landscape}
\tiny% Das ist eine Anweisung!
\begin{table}
\centering
\begin{tabular}{|l|l|p|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
\csvreader[late after line=\\\hline]%
{ra-test.csv}{Activity=\activity,Hazard=\hazard,Consequence=\consequence,Type=\type,la=\la,ca=\ca,rra=\rra,tb=\tb,lb=\lb,cb=\cb,rrb=\rrb,tc=\tc,lc=\lc,cc=\cc,rrc=\rrc,date=\date}%
{
\thecsvrow&
\activity&
\hazard&
\consequence&
\type&
\la&
\ca&
\rra&
\tb&
\lb&
\cb&
\rrb&
\tc&
\lc&
\cc&
\rrc&
\date
}
\end{tabular}
\end{table}
\end{landscape}

\label{lastlastpage}
\end{document} 

von Johannes_B » Mo 29. Jul 2013, 14:46

In deinem Beispiel ist doch überhaupt kein Itemize drin? Da musst du wohl ein neues Minimalbeispiel erstellen.

Falls das mit cvsreader nichts mehr zu tun hat, dann bitte in einem neuen Thema.

von martinli » Mo 29. Jul 2013, 13:15

Hallo,

Vielen Dank!
Generell schaut die Tabelle schon super so aus.
Ich hab nur das Problem, dass ich bei "\begin/End{Itemize}" einen fehler bekomme.
Ich nutze das schon in einer anderen Tabelle, Also csvreader + itemize. Da funktioniert es. Hier aber leider nicht.
"Simething's wrong--perhabs a missing \item"

Hat jemand eine Idee?

Vielen Dank

Martin

Nach oben