Lernkarten mit externen Daten befüllen

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: Lernkarten mit externen Daten befüllen

Re: Lernkarten mit externen Daten befüllen

von mattazie » Do 25. Mai 2023, 16:16

Ich habe viel nachgelesen, rumgetüftelt und schliesslich selber die Lösung gefunden:

Anstelle von \put(10,17){#1}

verwende ich nun \put(0,0){\makebox(52.5,37.125){#1}}, wobei die Dimensionen von \makebox der Definition \ticketSize{52.5}{37.125} aus der Datei Visitenkarte-4x8.tdf entnommen ist.

Dies nur zur Information, falls jemand ein ähnliches Problem hat.

Re: Lernkarten mit externen Daten befüllen

von mattazie » Mo 22. Mai 2023, 21:37

Wow, vielen Dank für die schnelle Hilfe. Schön, dass nur eine Zeile gefehlt hat. Jetzt funktioniert es genauso, wie ich es mir vorgestellt habe.

Ich habe nun noch eine Folgefrage:

Ich möchte den Text Vorderseite-... und Rückseite jeweils horizontal und vertikal zentriert haben. Der Text soll wie eine Fusszeile unten links stehen. Mit den \put-Anweisungen bringe ich es nicht hin. Horizontal bringe ich es mit /put zwar hin, kann aber nicht Horziontal zentrieren, da jede anweisung mit dem horizontalen \put und dem Text in Konflikt kommt. Hat da wer eine Idee?

Vielen Dank zum Voraus

Re: Lernkarten mit externen Daten befüllen

von uliken » Sa 20. Mai 2023, 08:43

Du musst auch nach der Schleife für die Rückseite den Zähler numcards rücksetzen. (Vorletzte Zeile im Code.)
\begin{filecontents}{Visitenkarte-4x8.tdf}
%% ticket for "Visitenkarten 4x8"
%% pre-cutted label for wide files
%%
\unitlength=1mm
%% tested for an HP5SiMX, adjust it for your printer
\hoffset=-25mm
\voffset=-30mm
\ticketNumbers{4}{8}
\ticketSize{52.5}{37.125} % in unitlength
\ticketDistance{0}{0} % in unitlength
\end{filecontents}
\begin{filecontents}{Versuchs-Tabelle.csv}
Farbe,Vorderseite,Rueckseite
rot,Vorderseite-rot,Rueckseite-rot
gruen,Vorderseite-gruen,Rueckseite-gruen
blau,Vorderseite-blau,Rueckseite-blau
\end{filecontents}

\documentclass[a4paper,12pt]{letter}

% load ticket.sty with the appropriate ticket definition
\usepackage[Visitenkarte-4x8,boxed]{ticket}

% load misc stuff
\usepackage{graphicx}
\usepackage{color}
\usepackage{datatool}


% Einbinden der externen Datenbank
\DTLloaddb[keys={Farbe,Vorderseite,Rueckseite}]{Versuchs-Tabelle}{Versuchs-Tabelle.csv} 


% define something

%\definecolor{schwarz}{HTML}{000000}
\definecolor{rot}{RGB}{255,0,0}
\definecolor{gruen}{rgb}{0.0,1.0,0.0}
\definecolor{blau}{rgb}{0.0,0.0,1.0}

% make your default ticket. \ticketdefault is somewhat like a background
% here it is empty, because we use different tickets for the front an
% the back of our card
\renewcommand{\ticketdefault}{%
}

% now what do you like to put in your ticket
\newcommand{\vcardfront}[1]{\ticket{%
  


    \put(10,17)
%\begin{centering} 
{#1}
%\end{centering}
      \put(30, 2){\tiny Text}
 
 
 }}

\newcommand{\vcardback}[1]{\ticket{%
    \put(10,17){#1}

}}

% a counter, which makes life easier...
\newcounter{numcards}

\begin{document}
\sffamily

% Steuerung über externe Datenbanjk
\DTLenvforeach{Versuchs-Tabelle}{\Farbe=Farbe,\Vorderseite=Vorderseite,\Rueckseite=Rueckseite}



\pagecolor{\Farbe}

% ten cards for the front
\whiledo{\thenumcards<32}{%
  \stepcounter{numcards}%
 % \centering
  \vcardfront{\Vorderseite}}

\setcounter{numcards}{0}

\nopagecolor

% and ten for the backside
\whiledo{\thenumcards<32}{%
  \stepcounter{numcards}%
  \vcardback{\Rueckseite}
  }
 \setcounter{numcards}{0} % <-- hier Zähler rücksetzen
\end{document}

Lernkarten mit externen Daten befüllen

von mattazie » Fr 19. Mai 2023, 15:19

Hallo Zusammen

Ich muss für ein Projekt etwas zwischen Lernkarten und Visitenkarten erstellen. Auf einem A4-Blatt sollen 4*8 Kärtchen entstehen, jedes Kärtchen mit der gleichen Vorderseite und Rückseite, die Informationen kommen jeweils aus einer externen CVS-Datei. Die Vorderseite soll eine Hintergrundfarbe aufweisen, welche ebenfalls der CVS-Datei entnommen wird.
Ich erstellte zuerst mit dem Packet ticket als Grunddokument der Bogen mit den einzelnen Kärtchen. Anschliessend versuchte ich mit dem Packet datatool die Daten aus der externen Datei Veruchs-Tabelle.cvs zu entnehmen.
Beim ersten Blatt funktionierte das wunderbar. Beim zweiten und dritten Blatt kommt nur die Rückseite. Was mache ich falsch? Wie erreiche ich, dass auch beim zweiten und dritten Blatt die Vorderseite erstellt wird. Gäbe es eine andere Möglichkeit.
Ich hoffe, die Fragestellung ist einigermassen klar.

Ich bin dankbar für jede Hilfe

mattazie

Definition der Kärtchen:
Visitenkarte-4x8.tdf
%%
%% ticket for "Visitenkarten 4x8"
%% pre-cutted label for wide files
%%
\unitlength=1mm
%% tested for an HP5SiMX, adjust it for your printer
\hoffset=-25mm
\voffset=-30mm
\ticketNumbers{4}{8}
\ticketSize{52.5}{37.125} % in unitlength
\ticketDistance{0}{0} % in unitlength
Versuchs-Tabelle.csv
Farbe,Vorderseite,Rueckseite
rot,Vorderseite-rot,Rueckseite-rot
gruen,Vorderseite-gruen,Rueckseite-gruen
blau,Vorderseite-blau,Rueckseite-blau 
Visitenkarten-Frage.tex
%%%%
%
% ticket.sty example file for visiting cards
%
%%%%
% use the corresponding paper size for your ticket definition
\documentclass[a4paper,12pt]{letter}

% load ticket.sty with the appropriate ticket definition
\usepackage[Visitenkarte-4x8,boxed]{ticket}

% load misc stuff
\usepackage{graphicx}
\usepackage{color}
\usepackage{datatool}


% Einbinden der externen Datenbank
\DTLloaddb[keys={Farbe,Vorderseite,Rueckseite}]{Versuchs-Tabelle}{Versuchs-Tabelle.csv} 


% define something

%\definecolor{schwarz}{HTML}{000000}
\definecolor{rot}{RGB}{255,0,0}
\definecolor{gruen}{rgb}{0.0,1.0,0.0}
\definecolor{blau}{rgb}{0.0,0.0,1.0}

% make your default ticket. \ticketdefault is somewhat like a background
% here it is empty, because we use different tickets for the front an
% the back of our card
\renewcommand{\ticketdefault}{%
}

% now what do you like to put in your ticket
\newcommand{\vcardfront}[1]{\ticket{%
  


    \put(10,17)
%\begin{centering} 
{#1}
%\end{centering}
      \put(30, 2){\tiny Text}
 
 
 }}

\newcommand{\vcardback}[1]{\ticket{%
    \put(10,17){#1}

}}

% a counter, which makes life easier...
\newcounter{numcards}

\begin{document}
\sffamily

% Steuerung über externe Datenbanjk
\DTLenvforeach{Versuchs-Tabelle}{\Farbe=Farbe,\Vorderseite=Vorderseite,\Rueckseite=Rueckseite}



\pagecolor{\Farbe}

% ten cards for the front
\whiledo{\thenumcards<32}{%
  \stepcounter{numcards}%
 % \centering
  \vcardfront{\Vorderseite}}

\setcounter{numcards}{0}

\nopagecolor

% and ten for the backside
\whiledo{\thenumcards<32}{%
  \stepcounter{numcards}%
  \vcardback{\Rueckseite}
  }
 
\end{document}



Nach oben