von dknof » Fr 1. Feb 2013, 22:01
Hallo Sven,
als erstes beschreibe ich Dein Problem so, wie ich es verstanden habe.
Ihr habt eine Liste von Produkten, die Ihr mit Euren Artikelnummern verseht, also beispielsweise 1,2,3,4. Dann habt Ihr die Kundenartikelnummern, die Euren Artikelnummern zugeordnet sind, also A,B,D wird entsprechend A-1, B-2, D-4 zugeordnet, 3 ist dabei nicht für den Kunden vorgesehen. Nun willst Du einen Katalog für diesen Kunden erstellen, in dem die hinter 1,2,4 hinterlegten Daten unter A,B,D dargestellt werden.
Das LaTeX-Dokument hat dann die Struktur
\documentclass{scrartcl}
\newcommand{\Artikel}[2]{%
% #1 Artikelnummer
% #2 Kundennummer
\section{Artikel #2}
\input{Produktbeschreibungen/#1.tex}
}
\begin{document}
\Artikel{1}{A}
\Artikel{2}{B}
\Artikel{4}{D}
\end{document}
Die automatische Generierung aus einer csv-Datei kannst Du mit datatool (Dokumentation: texdoc datatool) direkt in LaTeX hinbekommen.
Ich würde allerdings einfach ein Shell-Skript schreiben. Ist Kunde.csv die Datei mit Kundenartikelnummer in der ersten Spalte und Artikelnummer in der zweiten Spalte, dann schreibt unter Unix/Linux/MinGW
(read; sed 's/^\(.\+\);\(.\+\)$/\\Artikel{\2}{\1}/') <Kunde.csv >Kunde.tex
die gewünschten Befehle in die Datei Kunde.tex, wobei die erste Zeile ignoriert wird. Diese musst Du dann nur noch mit \input in Dein tex-Dokument einlesen.
Gruß
Diether
Hallo Sven,
als erstes beschreibe ich Dein Problem so, wie ich es verstanden habe.
Ihr habt eine Liste von Produkten, die Ihr mit Euren Artikelnummern verseht, also beispielsweise 1,2,3,4. Dann habt Ihr die Kundenartikelnummern, die Euren Artikelnummern zugeordnet sind, also A,B,D wird entsprechend A-1, B-2, D-4 zugeordnet, 3 ist dabei nicht für den Kunden vorgesehen. Nun willst Du einen Katalog für diesen Kunden erstellen, in dem die hinter 1,2,4 hinterlegten Daten unter A,B,D dargestellt werden.
Das LaTeX-Dokument hat dann die Struktur
[code]
\documentclass{scrartcl}
\newcommand{\Artikel}[2]{%
% #1 Artikelnummer
% #2 Kundennummer
\section{Artikel #2}
\input{Produktbeschreibungen/#1.tex}
}
\begin{document}
\Artikel{1}{A}
\Artikel{2}{B}
\Artikel{4}{D}
\end{document}
[/code]
Die automatische Generierung aus einer csv-Datei kannst Du mit datatool (Dokumentation: texdoc datatool) direkt in LaTeX hinbekommen.
Ich würde allerdings einfach ein Shell-Skript schreiben. Ist Kunde.csv die Datei mit Kundenartikelnummer in der ersten Spalte und Artikelnummer in der zweiten Spalte, dann schreibt unter Unix/Linux/MinGW
[code]
(read; sed 's/^\(.\+\);\(.\+\)$/\\Artikel{\2}{\1}/') <Kunde.csv >Kunde.tex
[/code]
die gewünschten Befehle in die Datei Kunde.tex, wobei die erste Zeile ignoriert wird. Diese musst Du dann nur noch mit \input in Dein tex-Dokument einlesen.
Gruß
Diether