Hallo ihr Lieben! Der Nutzer Namens Stefan meinte, dass ich meine Frage in kleinere aufteilen sollte. Die alte Frage sollte trotzdem erhalten bleiben, damit die Problematik der gestellten Frage in handliche Teilchen aufgeteilt wird, und Dank dieser Teilchen ni der erwähnten ersten Frage wieder gesammelt werden kann. Ich gebe mir mühe bei meiner Frage so gut zu helfen wie möglich :-) ... Danke schon mal für Hilfe! Meine Teilfrage Sobald ich die CSV Datei eingelesen habe und sie nutzen kann, wie platziere ich die Daten dann in dem Kalender nach Datum und Uhrzeit? Daten der CSV-Datei Open in Online-Editor
Lineare Algebra TÜ [Übungsraum (3322-316)],01/28/15,08:15:00,01/28/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],02/04/15,08:15:00,02/04/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],02/11/15,08:15:00,02/11/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],02/18/15,08:15:00,02/18/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],02/25/15,08:15:00,02/25/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],03/04/15,08:15:00,03/04/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],03/11/15,08:15:00,03/11/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],04/15/15,08:15:00,04/15/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],04/22/15,08:15:00,04/22/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],04/29/15,08:15:00,04/29/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],05/06/15,08:15:00,05/06/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],05/13/15,08:15:00,05/13/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],05/20/15,08:15:00,05/20/15,10:00:00 Lineare Algebra TÜ [Übungsraum (3322-316)],05/27/15,08:15:00,05/27/15,10:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],01/26/15,14:15:00,01/26/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],02/02/15,14:15:00,02/02/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],02/09/15,14:15:00,02/09/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],02/16/15,14:15:00,02/16/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],02/23/15,14:15:00,02/23/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],03/02/15,14:15:00,03/02/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],03/09/15,14:15:00,03/09/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],04/13/15,14:15:00,04/13/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],04/20/15,14:15:00,04/20/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],04/27/15,14:15:00,04/27/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],05/04/15,14:15:00,05/04/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],05/11/15,14:15:00,05/11/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],05/18/15,14:15:00,05/18/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],05/25/15,14:15:00,05/25/15,17:00:00 Lineare Algebra Lab. [Übungsraum (2226-114)],06/01/15,14:15:00,06/01/15,17:00:00 Hier ist was ich bisher versucht habe Der Grundquelltext stammt von Laurent Dutriauxs Arbeit, veröffentlicht am 06.05.2009. Open in Online-Editor
Open in Online-Editor %!TEX encoding = UTF-8 Unicode % Author: Laurent Dutriaux \documentclass[a4paper,11pt]{article} \usepackage{csvsimple} \usepackage[utf8]{inputenc} \usepackage{fourier} % Utilisation des polices texte \usepackage{tikz} \usetikzlibrary[positioning] \usetikzlibrary{patterns} \usepackage[french]{babel} % styles français \title{A simple Timetable} \author{Laurent Dutriaux} \date{\today} \newcommand{\daywidth}{2.2 cm} \begin{document} \maketitle \begin{tikzpicture}[x=\daywidth, y=-1cm, node distance=0 cm,outer sep = 0pt] % Style for Days \tikzstyle{day}=[draw, rectangle, minimum height=1cm, minimum width=\daywidth, fill=yellow!20,anchor=south west] % Style for hours \tikzstyle{hour}=[draw, rectangle, minimum height=1 cm, minimum width=1.5 cm, fill=yellow!30,anchor=north east] % Styles for events % Duration of sequences \tikzstyle{hours}=[rectangle,draw, minimum width=\daywidth, anchor=north west,text centered,text width=5 em] \tikzstyle{1hour}=[hours,minimum height=1cm] \tikzstyle{2hours}=[hours,minimum height=2cm] \tikzstyle{3hours}=[hours,minimum height=3cm] %Style for type of sequence \tikzstyle{Ang2h}=[2hours,fill=green!20] \tikzstyle{Phys2h}=[2hours,fill=red!20] \tikzstyle{Math2h}=[2hours,fill=blue!20] \tikzstyle{TIPE2h}=[2hours,fill=blue!10] \tikzstyle{TP2h}=[2hours, pattern=north east lines, pattern color=magenta] \tikzstyle{G3h}=[3hours, pattern=north west lines, pattern color=magenta!60!white] \tikzstyle{Planche}=[1hour,fill=white] % Positioning labels for days and hours \node[day] (lundi) at (1,8) {Lundi}; \node[day] (mardi) [right = of lundi] {Mardi}; \node[day] (mercredi) [right = of mardi] {Mercredi}; \node[day] (jeudi) [right = of mercredi] {Jeudi}; \node[day] (vendredi) [right = of jeudi] {Vendredi}; \node[hour] (8-9) at (1,8) {8-9}; \node[hour] (9-10) [below = of 8-9] {9-10}; \node[hour] (10-11) [below= of 9-10] {10-11}; \node[hour] (11-12) [below = of 10-11] {11-12}; \node[hour] (12-13) [below = of 11-12] {12-13}; \node[hour] (13-14) [below = of 12-13] {13-14}; \node[hour] (14-15) [below = of 13-14] {14-15}; \node[hour] (15-16) [below = of 14-15] {15-16}; \node[hour] (16-17) [below = of 15-16] {16-17}; \node[hour] (17-18) [below = of 16-17] {17-18}; \node[hour] (18-19) [below = of 17-18] {18-19}; %Position of sequences \node[Ang2h] at (1,10) {Anglais}; \node[Phys2h] at (1,8) {Physique}; \node[Phys2h] at (2,8) {Physique}; \node[Phys2h] at (4,8) {Physique}; \node[Phys2h] at (5,10) {Physique}; \node[Math2h] at (2,10) {Maths}; \node[Math2h] at (2,14) {Maths}; \node[Math2h] at (3,8) {Maths}; \node[Math2h] at (4,10) {Maths}; \node[Math2h] at (5,8) {Maths}; \node[TIPE2h] at (1,14) {TIPE}; \node[TIPE2h] at (1,16) {TIPE}; \node[TIPE2h] at (2,16) {TIPE}; \node[TIPE2h] at (3,10) {TIPE}; \node[TIPE2h] at (5,14) {TIPE}; \node[TIPE2h] at (5,16) {TIPE}; \node[TP2h] at (3,14) {Phys ou SI}; \node[TP2h] at (3,16) {SI ou Phys}; \node[Planche] at (1,13) {Planche}; \node[Planche] at (1,18) {Colle}; \node[Planche] at (4,13.5) {Planche}; \end{tikzpicture} \end{document} gefragt 14 Apr '15, 13:38 Basilius Sap... |
Wir machen es uns erstmal einfach. Es gibt pro y-Höhe nur einen Eintrag pro Tag, es überlappen sich also keine Termine. Anstatt CSV-Einlese-Spielerein zu machen, habe ich die Liste kurzerhand umformatiert, aus den Der Dabei wird der Tag vom Das Makro Die Die obere rechte Ecke der ersten Stunde bekommt ein Dummy-Alias Apropos Kalendar. Der TikZ-Kalendar nutzt – unüberraschend – die
Diese „Hooks“ sind mit
anpassbar. Die Hooks innerhalb der (Gruppe) werden in einer TeX-Group ausgeführt. Die mitgelieferten Styles von TikZ (zum Beispiel Code%\documentclass[a4paper, 11pt, ngerman, multi=tikzpicture]{standalone} \documentclass[a4paper, 11pt, ngerman]{article} \usepackage{fourier} \usepackage{babel, translator} \usepackage{tikz} \usetikzlibrary{calendar} \newcommand*\bscalset{\pgfqkeys{/tikz/bscal}} \newcommand*\bsvo[1]{\pgfkeysvalueof{/tikz/bscal/#1}} \bscalset{ .code=\bscalset{#1}, day width/.initial=2.2cm, hour height/.initial=1.0cm, hour width/.initial=1.5cm, weekday height/.initial=.8cm, hour node/.style args={#1-#2}{ fill=yellow!30, minimum width=\bsvo{hour width}, minimum height=\bsvo{hour height}, draw, outer sep=+0pt, node contents={% \ifnum#1<10 \hphantom{0}\fi#1--\ifnum#2<10 \hphantom{0}\fi#2}, }, day node/.style={ draw, outer sep=+0pt, text width={\bsvo{day width}-2*(\pgfkeysvalueof{/pgf/inner xsep})}, align=center, }, weekday node/.style={ bscal/day node, at=(@.south east), name=@, anchor=south west, minimum height=\bsvo{weekday height}, node contents={\%w., \%d-.\,\%m-.}, text depth=+0pt, }, month node/.style={ bscal/hour node={0-0}, fill=blue!20, node contents=\%m., anchor=south east, at=(@), text depth=+0pt, minimum height=\bsvo{weekday height}, }, calendar/.style={ execute before day scope={ \ifdate{equals=\pgfcalendarbeginiso}{ \node[bscal/month node]; }{} \node[bscal/weekday node]; }, day code={ \pgfkeysgetvalue{/tikz/bscal/storage/% \pgfcalendarcurrentyear-\pgfcalendarcurrentmonth-\pgfcalendarcurrentday}\DAY \unless\ifx\DAY\relax \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter\DAY \expandafter\expandafter\expandafter{\expandafter\stripFirstAnything\DAY} \foreach \TIMES/\TIMEE/\TEXT/\ROOM in \DAY { \node[bscal/day node, anchor=north west, minimum height=(\TIMEE-\TIMES)*\bsvo{hour height}] at (@.south west|-0,-\TIMES*\bsvo{hour height}) {\tiny\TEXT\par\tiny\ROOM\par}; } \fi } }, scanner/day/.code args={#1/#2/#3:#4}{\def#4{20#3-#1-#2}}, scanner/time/.code args={#1:#2:#3/#4}{% \pgfmathsetmacro#4{(\stripFirstZero{#1}-8) +(\stripFirstZero{#2}/60) +(\stripFirstZero{#3}/3600)}}, scan and store/.style args={#1 [#2];#3;#4;#5;#6}{ scanner/day={#3:\DAY}, scanner/time={#4/\TIMES}, scanner/time={#6/\TIMEE}, storage/\DAY/.append/.expanded={% ,\TIMES/\TIMEE/{\unexpanded{#1}}/{\unexpanded{#2}}} } } \newcommand*\stripFirstAnything[1]{} \newcommand*\stripFirstZero[1]{\if0#1\else#1\fi} \bscalset{ scan and store/.list={ Lineare Algebra TÜ [Übungsraum (3322-316)];01/28/15;08:15:00;01/28/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];02/04/15;08:15:00;02/04/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];02/11/15;08:15:00;02/11/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];02/18/15;08:15:00;02/18/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];02/25/15;08:15:00;02/25/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];03/04/15;08:15:00;03/04/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];03/11/15;08:15:00;03/11/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];04/15/15;08:15:00;04/15/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];04/22/15;08:15:00;04/22/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];04/29/15;08:15:00;04/29/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];05/06/15;08:15:00;05/06/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];05/13/15;08:15:00;05/13/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];05/20/15;08:15:00;05/20/15;10:00:00, Lineare Algebra TÜ [Übungsraum (3322-316)];05/27/15;08:15:00;05/27/15;10:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];01/26/15;14:15:00;01/26/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];02/02/15;14:15:00;02/02/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];02/09/15;14:15:00;02/09/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];02/16/15;14:15:00;02/16/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];02/23/15;14:15:00;02/23/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];03/02/15;14:15:00;03/02/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];03/09/15;14:15:00;03/09/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];04/13/15;14:15:00;04/13/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];04/20/15;14:15:00;04/20/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];04/27/15;14:15:00;04/27/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];05/04/15;14:15:00;05/04/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];05/11/15;14:15:00;05/11/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];05/18/15;14:15:00;05/18/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];05/25/15;14:15:00;05/25/15;17:00:00, Lineare Algebra Lab. [Übungsraum (2226-114)];06/01/15;14:15:00;06/01/15;17:00:00% } } \begin{document} \foreach \weekoffset in {0, 7, ..., 126}{% \noindent \begin{tikzpicture} \coordinate (@); \foreach [count=\e from 9] \s in {8, ..., 18} \node[name=@, at=(@.south), anchor=north, bscal/hour node=\s-\e]; \coordinate (@) at (0,0-|@.east); \calendar[ dates=2015-01-26+\weekoffset to 2015-01-26+\pgfinteval{\weekoffset+4}, bscal/calendar ]; \end{tikzpicture} \par \pagebreak} \end{document} Ergebnisbeantwortet 14 Dez '22, 22:28 Qrrbrbirlbel Ich habe das zwar überhaupt nicht verstanden, finde aber den einsatz, eine frage nach mehr als sieben jahren noch zu beantworten, mehr als lobenswert.
(14 Dez '22, 23:38)
huibub
@huibub Irgendwas läuft er noch nicht richtig. Weder passen die Uhrzeiten noch sind alle Einträge im Kalender.
(15 Dez '22, 11:39)
Qrrbrbirlbel
|
Das wird ganz schnell ganz kompliziert, wenn sich Einträge überlappen. Gibt es Einträge, die sich auf mehrere Tage verteilen? Gibt es Einträge am Wochenende (ich vermute mal nicht)?