Hi, gibt es ein Paket, mit dem ich Kalendervorlagen wie diese auf Kalenderpedia einfach erstellen kann? Demo: http://www.kalenderpedia.de/wochenkalender-2018-pdf-vorlagen.html cu rivella
Ergebnis 5 von 8
show 3 more comments
|
Um als Ansatz mal etwas in der Art ohne Verwendung von Öffne in Overleaf
\documentclass[fontsize=10pt,DIV=12,paper=landscape,svgnames]{scrartcl} \usepackage[ngerman]{babel} \usepackage[table]{xcolor} \usepackage{scrdate} \newcounter{newyeardaynumber} \newcounter{firstweekstartoffset} \newcommand*{\startdate}{} \newif\ifleepyear \newcounter{weeksperyear} \newcommand*{\InitKW}[1]{% \setcounter{newyeardaynumber}{\DayNumber{#1}{1}{1}}% \setcounter{weeksperyear}{52}% \expandafter\ifcase\value{newyeardaynumber} \setcounter{firstweekstartoffset}{1}% \edef\startdate{#1-1-2}% \or \setcounter{firstweekstartoffset}{0}% \edef\startdate{#1-1-1}% \or \setcounter{firstweekstartoffset}{-1}% \edef\startdate{\the\numexpr#1-1\relax-12-31}% \or \setcounter{firstweekstartoffset}{-2}% \edef\startdate{\the\numexpr#1-1\relax-12-30}% \or \setcounter{firstweekstartoffset}{-3}% \edef\startdate{\the\numexpr#1-1\relax-12-29}% \setcounter{weeksperyear}{53}% \or \setcounter{firstweekstartoffset}{3}% \edef\startdate{#1-1-4}% \or \setcounter{firstweekstartoffset}{2}% \edef\startdate{#1-1-3}% \fi \expandafter\ifnum\value{weeksperyear}=52 \expandafter\ifnum\DayNumber{\numexpr #1+1\relax}{1}{1}=5 \setcounter{weeksperyear}{53}% \fi \fi \expandafter\ifnum\DayNumber{#1}{2}{29}\expandafter=\DayNumber{#1}{3}{1} \leepyearfalse \else \leepyeartrue \fi } \makeatletter \newcommand*\splitdate{} \def\splitdate#1-#2-#3\@nil{\year=#1\relax \month=#2\relax \day=#3\relax} \newcommand*{\@calcdate}[1]{% \@tempcnta=#1\relax \@whilenum \@tempcnta>0\do {% \@tempcntb=\ifcase \month \or 31 \or \ifleepyear 29 \else 28 \fi \or 31 \or 30 \or 31 \or 30 \or 31 \or 31 \or 30 \or 31 \or 30 \or 31 \fi \ifnum \day>\@tempcntb \advance\day by -\@tempcntb \advance\month by 1 \ifnum \month>12\relax \month=1\relax\advance\year by 1\relax\fi \fi \advance\@tempcnta by -1 \ifnum\@tempcnta>0 \advance\day by 7\relax\fi }% } \newcommand*{\KWStartdate}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \@calcdate{#1}% \the\day. \csname month@\languagename\endcsname \endgroup } \newcommand*{\KWEnddate}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 6\relax \@calcdate{#1}% \the\day. \csname month@\languagename\endcsname \endgroup } \newcommand*{\KWFirst}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 0\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWSecond}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 1\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWThird}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 2\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWForth}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 3\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWFifth}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 4\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWSixth}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 5\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \newcommand*{\KWSeventh}[1]{% \begingroup \expandafter\splitdate\startdate\@nil \advance\day by 6\relax \@calcdate{#1}% \the\day. \the\month. \DayName{\year}{\month}{\day}% \endgroup } \makeatother \newcommand*{\KWshowweek}[1]{% \newpage \begingroup \raggedright \sffamily KW #1, \KWStartdate{#1}--\KWEnddate{#1} \begin{tabular}{|*4{p{\dimexpr \linewidth/4-2\tabcolsep\relax}|}} \cellcolor{IndianRed} \KWFirst{#1} & \cellcolor{Gold} \KWSecond{#1} & \cellcolor{Khaki} \KWThird{#1} & \cellcolor{PaleGreen} \KWForth{#1} \\\hline & & & \\[12\normalbaselineskip] \hline \cellcolor{PaleTurquoise} \KWFifth{#1} & \cellcolor{DarkTurquoise} \KWSixth{#1} & \cellcolor{MediumOrchid} \KWSeventh{#1} & \cellcolor{LightGrey} Notizen: \\\hline & & & \\[12\normalbaselineskip] \hline \end{tabular} \endgroup } \InitKW{\the\year} \newcounter{week} \begin{document} Der 1. Januar \the\year{} ist ein \DayNameByNumber{\value{newyeardaynumber}} und das Jahr ist \ifleepyear\else kein \fi Schaltjahr. Die erste KW beginnt nach ISO~8601 am \startdate{} und das Jahr hat \arabic{weeksperyear} Wochen. \setcounter{week}{0} \csname @whilenum\endcsname\value{week}<\value{weeksperyear}\do { \stepcounter{week}% \KWshowweek{\arabic{week}}% } \InitKW{2019} Der 1. Januar 2019 ist ein \DayNameByNumber{\value{newyeardaynumber}} und das Jahr ist \ifleepyear\else kein \fi Schaltjahr. Die erste KW beginnt nach ISO~8601 am \startdate{} und das Jahr hat \arabic{weeksperyear} Wochen. \setcounter{week}{0} \csname @whilenum\endcsname\value{week}<\value{weeksperyear}\do { \stepcounter{week}% \KWshowweek{\arabic{week}}% } \end{document} Statt Hier einmal die erste Kalenderwoche im nächsten Jahr: Es gibt übrigens neben der hier gezeigten Berechnung der Kalenderwoche nach ISO 8601 andere Berechnungsarten. Während nach ISO 8601 die erste Kalenderwoche diejenige mit dem ersten Donnerstag des Jahres ist, wird in einigen Ländern auch festgelegt, dass die erste Kalenderwoche diejenige mit dem ersten Montag oder dem ersten Sonntag ist oder einfach diejenige mit dem ersten Januar. Für eine entsprechende Anpassung müsste man oben nur beantwortet 20 Dez '18, 10:48 gast3 |
\usetikzlibrary{calendar}
(bzw.\usepackage{pgfcalendar}
) können sowas.Auf TeX.SX als https://tex.stackexchange.com/q/466267/35864
»Bitte schalten Sie ihren Adblocker aus« Wie wäre es mit nein?
Bild ergänzt
Die Jahreskalender, auf die auf Stackexchange verwiesen wird, bekomme ich auch hin. Allerdings eben nicht diesen Wochenkalender :( Da fehlt mir jeder Ansatz.
Wahrscheinlich schwierig mit
day list right
, was sinnvoll ist, wenn man weitere Kalenderfunktionen nutzen will (wie Termine eintragen, Hintergrundfarben). Eventuell einfacher mit einer TikZ-Matrix (und die dann mit calendar-Funktionen beschriften), wenn es um das reine Layout geht. Professioneller ist sicher die erste Methode.Danke. Puh. Das muss ich mal in einer ruhigen Minute ausprobieren. Eine Matrix ist keine Lösung.
Ja, eine Matrix, wie gesagt, höchstens um das Layout zu erzeugen. Eleganter dürfte sein, die day cells so zu manipulieren, dass sie das gewünschte Wochenkalenderbild hergeben.
Ich würde mich damit beschäften, doch, wie der Zufall so will, bastle ich gerade an einem Monatskalender. Falls mir eine einfache Methode einfällt, das äquivalent in einen Wochenkalender umzuwandeln poste ich sie.