Stundenplan - Probleme bei Erweiterung von 8-17 auf 8-20Uhr
Verfasst: Mi 6. Mär 2013, 18:47
Hallo!
Muss sagen, ich hab absolut keine Ahnung von Latex, nur ein bisschen Hausverstand, der mir das editieren der Dateien ermöglicht.
Habe den Stundenplan online gefunden, allerdings Probleme die Stundenanzahl zu erweitern.
stundenplan.tex
timetable.sty:
Hätte nun bei der 1. Datei \hours{8}{15}{0} auf \hours{8}{18}{0} geändert, bringt aber nichts.
Meine 2. Idee wäre gewesen in der 2. Datei \newcommand{\event}[7] auf \newcommand{\event}[10] zu ändern.
Hilft aber nichts.
Bitte bitte helft mir!!
Muss sagen, ich hab absolut keine Ahnung von Latex, nur ein bisschen Hausverstand, der mir das editieren der Dateien ermöglicht.
Habe den Stundenplan online gefunden, allerdings Probleme die Stundenanzahl zu erweitern.
stundenplan.tex
\documentclass[a4paper,10pt]{report} % Definitions \usepackage{lscape} \usepackage[height=25cm]{geometry} \usepackage{timetable} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \begin{document} \thispagestyle{empty} \begin{landscape} \printheading{vwl} % Define the layout of your time tables \setslotsize{3.5cm}{0.3cm} \setslotcount {5} {40} \settopheight{4} \settextframe{0.8mm} \setprinttimestamps{1} % colourschemes \defineevent{x1}{0} {0.24} {0.97} {1.0}{1.0}{1.0} \defineevent{x2}{0.0} {1}{0.4} {1.0}{1.0}{1.0} \defineevent{x3}{0.46} {0.60} {1.0} {1.0}{1.0}{1.0} \defineevent{x4}{1}{1}{1}{0}{0}{0} \defineevent{x5}{1}{1}{1}{0}{0}{0} \defineevent{x6}{1}{1}{1}{0}{0}{0} \defineevent{x7}{1}{1}{1}{0}{0}{0} \defineevent{x8}{1}{1}{1}{0}{0}{0} \begin{timetable} \hours{8}{15}{0} \germandays{1} % courses \event 1 {1700}{2000} {PR Empir. WIFO} {Foster} {SEM1} {x3} \event 2 {1445}{1615} {UK Dynam. Ec. Mod.} {Bomze, Schachinger} {SEM1} {x1} \event 3 {0930}{1100} {UE Dynam. Ec. Mod.} {Ullrich} {SEM1} {x3} \event 3 {1130}{1300} {UK Mikro B} {Ania} {HS31} {x1} \event 3 {1315}{1445} {UK Mikro B} {Ania} {HS24} {x1} \event 4 {1315}{1445} {UE Mikro B} {Ania} {HS16} {x3} \event 4 {1500}{1630} {VO Entw. soz. Th.} {Cyba} {HS16} {x2} \end{timetable} \end{landscape} \end{document}
% % timetable.sty % von Pascal Gwosdek % http://www.planetk.de/index.php?title=Stundenplan % % Weitere Modifikationen: % Daniel Bader (dbader@mytum.de) % \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{timetable} \RequirePackage{ifthen, calc, color, pstricks} % Simple for loop construct as proposed by N. Setzer \newcommand{\forloop}[5][1] { \setcounter{#2}{#3} \ifthenelse{#4} { #5 \addtocounter{#2}{#1} \forloop[#1]{#2}{\value{#2}}{#4}{#5} } {} } % --- % SansSerif font \renewcommand{\familydefault}{\sfdefault} % Dimensions \newlength{\rowheight} \newlength{\colwidth} \newcounter{rowcount} \newcounter{colcount} \newlength{\textframe} \newlength{\bottomspace} \newlength{\totalheight} \newlength{\totalwidth} \newcounter{timemarks} \newcounter{daymarks} \newcounter{topheight} \newcounter{printtimestamps} % Predefines \setlength{\rowheight}{1.2cm} \setlength{\colwidth}{2.8cm} \setlength{\textframe}{0.8mm} \setlength{\bottomspace}{8pt} \setcounter{rowcount}9 \setcounter{colcount}5 \setcounter{topheight}{2} \setcounter{printtimestamps}{0} \newcommand{\bottomstyle}{\scriptsize} % Event declarations \newlength{\lastCol} \newlength{\lastRow} \newlength{\newcolwidth} \newlength{\newrowheight} \newlength{\newcolleft} \newlength{\newrowtop} % Helpers \newcounter{hourslot} \newcounter{durationslots} \newcounter{minutesPerSlot} \newcounter{day} \newcounter{column} \newcounter{row} \newcounter{hour} \newcounter{minute} \newcounter{minuteStep} \newcounter{startHour} \newcounter{startMinute} \newcounter{endHour} \newcounter{endMinute} \newcounter{hoursset} \setcounter{hoursset}{0} \newcounter{hourzero} \newcommand{\settopheight}[1] { \addtocounter{rowcount}{#1-\value{topheight}} \setcounter{topheight}{#1} } \newcommand{\setprinttimestamps}[1] { \setcounter{printtimestamps}{#1} } \newcommand{\setbottomstyle}[1] { \renewcommand{\bottomstyle}{#1} } \newcommand{\setbottomspace}[1] { \setlength{\bottomspace}{#1} } \newcommand{\fmtTime}[2] { % Arguments: {hour}{minute} \ifthenelse{\value{#1} < 10}{0}{}\arabic{#1}:\ifthenelse{\value{#2} < 10}{0}{}\arabic{#2} } \newcommand{\slotevent}[7] { % Arguments: {x}{y}{duration}{title}{lecturer}{place}{type}{textcolor} \renewcommand{\baselinestretch}{0.75}\normalsize \setlength{\lastRow}{-#2\rowheight} \addtolength{\lastRow}{-#3\rowheight} \setlength{\lastCol}{#1\colwidth} \addtolength{\lastCol}{\colwidth} \psframe[fillcolor=#7block,fillstyle=solid,linestyle=none](#1\colwidth,-#2\rowheight)(\lastCol,\lastRow) \setlength{\newrowheight}{\rowheight} \addtolength{\newrowheight}{-2\textframe} \setlength{\newcolwidth}{\colwidth} \addtolength{\newcolwidth}{-2\textframe} \setlength{\newrowtop}{-#2\rowheight} \addtolength{\newrowtop}{-\textframe} \setlength{\newcolleft}{#1\colwidth} \addtolength{\newcolleft}{\textframe} \ifthenelse{\value{hoursset} = 0}{\setcounter{printtimestamps}{0}}{} \rput[tl](\newcolleft,\newrowtop){\begin{minipage}[t]{\newcolwidth}\raggedright \color{#7text}\ifthenelse{\value{printtimestamps} > 0}{{\tiny \fmtTime{startHour}{startMinute}}\ifthenelse{\value{printtimestamps} = 2}{{\tiny -- \fmtTime{endHour}{endMinute}}}{} \\}{}{#4}\end{minipage}} \renewcommand{\baselinestretch}{0.5}\normalsize \setlength{\newrowtop}{\lastRow} \addtolength{\newrowtop}{2\textframe} \addtolength{\newrowtop}{\bottomspace} \rput[lt](\newcolleft,\newrowtop){\begin{minipage}[t]{0.6\newcolwidth}\raggedright \color{#7text}{\bottomstyle \ifthenelse{\value{printtimestamps} = 1}{\tiny \fmtTime{endHour}{endMinute}}{} #5}\end{minipage}} \setlength{\newcolleft}{\lastCol} \addtolength{\newcolleft}{-\textframe} \rput[rt](\newcolleft,\newrowtop){\begin{minipage}[t]{0.4\newcolwidth}\raggedleft \color{#7text}{\bottomstyle #6}\end{minipage}} \renewcommand{\baselinestretch}{1.0}\normalsize } \newcommand{\event}[7] { % Arguments: {day}{start}{end}{title}{lecturer}{place}{type}{textcolor} % Use the time format, if hours are defined, and a slot number otherwise: \ifthenelse{\value{hoursset} > 0} { \setcounter{startHour}{#2 / 100} \setcounter{startMinute}{#2 - #2 / 100 * 100} \setcounter{endHour}{#3 / 100} \setcounter{endMinute}{#3 - #3 / 100 * 100} \setcounter{hourslot}{((#2 - \value{hourzero}) / 100 * (60 / \value{minutesPerSlot})) + 2 + ((#2 - #2 / 100 * 100) / \value{minutesPerSlot})} \setcounter{durationslots}{((#3 - \value{hourzero}) / 100 * (60 / \value{minutesPerSlot})) + 2 + ((#3 - #3 / 100 * 100) / \value{minutesPerSlot}) - \value{hourslot}} % Compensate for 24h wrap \ifthenelse{\value{hourslot} < 0}{\addtocounter{hourslot}{(24 * (60 / \value{minutesPerSlot}))}}{} \addtocounter{hourslot}{\value{topheight}-2} } { \setcounter{hourslot}{#2} \setcounter{durationslots}{#3-#2} } \slotevent{#1}{\value{hourslot}}{\value{durationslots}}{#4}{#5}{#6}{#7} } \newcommand{\legend}[3] { % Arguments: <horizontal> <vertical> <text> % Lets you manually set slot contents (use this really rarely and % SEE: \daymark, \timemark ) \setlength{\lastCol}{#1\colwidth} \setlength{\lastRow}{-\value{topheight}\rowheight-#2\rowheight+\rowheight} \setlength{\newrowtop}{\lastRow} \setlength{\newcolleft}{\lastCol} \addtolength{\newrowtop}{\value{topheight}\rowheight} \addtolength{\newcolleft}{-\colwidth} \psline[linecolor=gray](\newcolleft,\newrowtop)(\newcolleft,\lastRow) \psline[linecolor=gray](\newcolleft,\newrowtop)(\lastCol,\newrowtop) \addtolength{\newcolleft}{\textframe} \addtolength{\newrowtop}{-\textframe} \rput[tl](\newcolleft,\newrowtop){\large #3} } \newcommand{\timemark}[1] { \stepcounter{timemarks} \legend 1 {\value{timemarks}} {#1} } \newcommand{\daymark}[1] { \stepcounter{daymarks} \legend {\value{daymarks}} 1 {#1} } \newcommand{\defineevent}[7] { \definecolor{#1block}{rgb}{#2, #3, #4} \definecolor{#1text} {rgb}{#5, #6, #7} \newrgbcolor{#1block}{#2 #3 #4} \newrgbcolor{#1text} {#5 #6 #7} } \newcommand{\printheading}[1] { {\LARGE #1}\hfill\\\hfill\\ } \newcommand{\setslotsize}[2] { % Arguments: <width> <height> % Defines the slot size \setlength{\rowheight}{#2} \setlength{\colwidth}{#1} } \newcommand{\setslotcount}[2] { % Arguments: <days> <hours per day> % Defines the number of slots in both dimensions \setcounter{colcount}{#1} \setcounter{rowcount}{#2+\value{topheight}} \stepcounter{colcount} } \newcommand{\settextframe}[1] { % Arguments: <width> % Defines the width of the border of each entry (i.e. the % distance between outer border and text) \setlength{\textframe}{#1} } \newcommand{\hours}[3] { % Arguments: <start hour> <start minute> <print end time?> % Automatically sets the time slots to full hours, beginning with <start hour> \setcounter{hoursset}{1} \setcounter{hourzero}{(#1 * 100)} \setcounter{hour}{#1} \setcounter{minute}{0} \setcounter{minuteStep}{#2} \setcounter{minutesPerSlot}{\value{minuteStep}} \forloop{row}{\value{topheight}}{\value{row} < \value{rowcount}} { \ifthenelse{\value{minute} = 0}{ \timemark{\fmtTime{hour}{minute}\ifthenelse{#3 > 0}{-\setcounter{hour}{\value{hour}+1}\fmtTime{hour}{minute}\setcounter{hour}{\value{hour}-1}}{}} }{\stepcounter{timemarks}} \addtocounter{minute}{#2} \ifthenelse{\value{minute} = 60}{\stepcounter{hour}\setcounter{minute}{0}}{} \ifthenelse{\value{hour} > 23}{\addtocounter{hour}{-24}}{} } } \newcommand{\englishdays}[1] { % Arguments: <number of start day> % Macro for the english week days \setcounter{day}{#1} \forloop{column}{1}{\value{column} < \value{colcount}} { \ifthenelse{\equal{\value{day}}1}{\daymark{Monday}}{} \ifthenelse{\equal{\value{day}}2}{\daymark{Tuesday}}{} \ifthenelse{\equal{\value{day}}3}{\daymark{Wednesday}}{} \ifthenelse{\equal{\value{day}}4}{\daymark{Thursday}}{} \ifthenelse{\equal{\value{day}}5}{\daymark{Friday}}{} \ifthenelse{\equal{\value{day}}6}{\daymark{Saturday}}{} \ifthenelse{\equal{\value{day}}7}{\daymark{Sunday}}{} \stepcounter{day} \ifthenelse{\value{day} > 7}{\addtocounter{day}{-7}}{} } } \newcommand{\germandays}[1] { % Arguments: <number of start day> % Macro for the english week days \setcounter{day}{#1} \forloop{column}{1}{\value{column} < \value{colcount}} { \ifthenelse{\equal{\value{day}}1}{\daymark{Montag}}{} \ifthenelse{\equal{\value{day}}2}{\daymark{Dienstag}}{} \ifthenelse{\equal{\value{day}}3}{\daymark{Mittwoch}}{} \ifthenelse{\equal{\value{day}}4}{\daymark{Donnerstag}}{} \ifthenelse{\equal{\value{day}}5}{\daymark{Freitag}}{} \ifthenelse{\equal{\value{day}}6}{\daymark{Samstag}}{} \ifthenelse{\equal{\value{day}}7}{\daymark{Sonntag}}{} \stepcounter{day} \ifthenelse{\value{day} > 7}{\addtocounter{day}{-7}}{} } } \newenvironment{timetable} { % Arguments: None % Starts a new timetable % Set the new layout setting \setlength{\totalheight}{-\value{colcount}\rowheight} \addtolength{\totalheight}{-\rowheight} \setlength{\totalwidth}{-\value{rowcount}\colwidth} \addtolength{\totalwidth}{-\colwidth} % Reset the counters \setcounter{timemarks}{\value{topheight}} \setcounter{daymarks}{1} \begin{pspicture}(0,0)(-\totalwidth,\totalheight) % Draw the grey frame \psframe[linestyle=none,fillstyle=solid,fillcolor=lightgray](0,-\value{rowcount}\rowheight)(\colwidth,0) \psframe[linestyle=none,fillstyle=solid,fillcolor=lightgray](0,-\value{topheight}\rowheight)(\value{colcount}\colwidth,0) } { % Draw the contours \psline(0,0)(\value{colcount}\colwidth,0) \psline(\value{colcount}\colwidth,0)(\value{colcount}\colwidth,-\value{rowcount}\rowheight) \psline(\value{colcount}\colwidth,-\value{rowcount}\rowheight)(0,-\value{rowcount}\rowheight) \psline(0,-\value{rowcount}\rowheight)(0,0) \psline(\colwidth,-\value{rowcount}\rowheight)(\colwidth,-\value{topheight}\rowheight) \psline(\colwidth,-\value{topheight}\rowheight)(\value{colcount}\colwidth,-\value{topheight}\rowheight) \end{pspicture} }
Meine 2. Idee wäre gewesen in der 2. Datei \newcommand{\event}[7] auf \newcommand{\event}[10] zu ändern.
Hilft aber nichts.
Bitte bitte helft mir!!
