0
1

Wie kann ich bei dem Kalender an den Tageszahlen noch Symbole M,D,M,D,F,S,S oder Mo,Di,Mi,Do,Fr,Sa,So ergänzen; an möglichst sinnvoller Stelle. Danke!

alt text

Open in Online-Editor
% A calendar of circles
% Author: Till Tantau (The PGF manual),
%   and Stefan Kottwitz (Modifications such as shaded circles and color)
\documentclass[landscape, ngerman]{article}

\usepackage[ngerman]{babel}
\usepackage[german]{translator}

\usepackage{tikz}
\usetikzlibrary{calendar,shadings}
\renewcommand*{\familydefault}{\sfdefault}
\colorlet{winter}{blue}
\colorlet{spring}{green!60!black}
\colorlet{summer}{orange}
\colorlet{fall}{red}
% A counter, since TikZ is not clever enough (yet) to handle
% arbitrary angle systems.
\newcount\mycount
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[scale=1.375,
remember picture,overlay,shift={(current page.center)}, 
transform shape,
  every day/.style={anchor=mid,font=\tiny}]
  \node[draw, densely dashed, circle,shading=radial,outer color=lightgray,inner color=white,
    minimum width=15cm] {\textcolor{blue!80!black}{\Huge\the\year}};
  \foreach \month/\monthcolor in
    {1/winter,2/winter,3/spring,4/spring,5/spring,6/summer,
    7/summer,8/summer,9/fall,10/fall,11/fall,12/winter} {
      % Computer angle:
      \mycount=\month
      \advance\mycount by -1
      \multiply\mycount by 30
      \advance\mycount by -90
      \shadedraw[shading=radial,outer color=\monthcolor!30,middle color=white,
        inner color=white,draw=none] (\the\mycount:5.4cm) circle(1.4cm);
      % The actual calendar
      \calendar at (\the\mycount:5.4cm) [
          dates=\the\year-\month-01 to \the\year-\month-last]
      if (day of month=1) {\large\color{\monthcolor!50!black}\tikzmonthcode}
      if (Sunday) [red]
      if (all) {
      % Again, compute angle
      \mycount=1
      \advance\mycount by -\pgfcalendarcurrentday
      \multiply\mycount by 11
      \advance\mycount by 90
      \pgftransformshift{\pgfpointpolar{\mycount}{1.2cm}}};}
\end{tikzpicture}
\end{document}

gefragt 03 Sep '15, 10:25

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%


Ich würde das nicht machen, weil die rot hervorgehobenen Sonntage eigentlich schon ausreichen, um die Wochenstruktur zu erkennen und sich zu orientieren. Aber wenn Du die Kürzel für die Wochentage in dem Kalender mit stehen haben möchtest, dann musst Du den day code anpassen. Eine Möglichkeit wäre

Open in Online-Editor
day code={%
  \path node[every day]{\tikzdaytext}+(180+\the\mycount:0.22)
    node[every day,scale=.75]{\pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}};

alt text

Code, der zwei Mal kompiliert werden muss:

Open in Online-Editor
% A calendar of circles
% Author: Till Tantau (The PGF manual),
%   and Stefan Kottwitz (Modifications such as shaded circles and color)
\documentclass[landscape, ngerman]{article}

\usepackage{babel}
\usepackage{translator}

\usepackage{tikz}
\usetikzlibrary{calendar,shadings}
\renewcommand*{\familydefault}{\sfdefault}
\colorlet{winter}{blue}
\colorlet{spring}{green!60!black}
\colorlet{summer}{orange}
\colorlet{fall}{red}
% A counter, since TikZ is not clever enough (yet) to handle
% arbitrary angle systems.
\newcount\mycount
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[scale=1.375,
remember picture,overlay,shift={(current page.center)}, 
transform shape,
  every day/.style={anchor=mid,node font=\tiny,minimum width=1ex}]
  \node[draw, densely dashed, circle,shading=radial,outer color=lightgray,inner color=white,
    minimum width=15cm] {\textcolor{blue!80!black}{\Huge\the\year}};
  \foreach \month/\monthcolor in
    {1/winter,2/winter,3/spring,4/spring,5/spring,6/summer,
    7/summer,8/summer,9/fall,10/fall,11/fall,12/winter} {
      % Computer angle:
      \mycount=\month
      \advance\mycount by -1
      \multiply\mycount by 30
      \advance\mycount by -90
      \shadedraw[shading=radial,outer color=\monthcolor!30,middle color=white,
        inner color=white,draw=none] (\the\mycount:5.4cm) circle(1.4cm);
      % The actual calendar
      \calendar at (\the\mycount:5.4cm) [
          dates=\the\year-\month-01 to \the\year-\month-last,
          day code={%
            \path node[every day]{\tikzdaytext}+(180+\the\mycount:0.22)
              node[every day,scale=.75]{\pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}};
          }
        ]
      if (day of month=1) {{\color{\monthcolor!50!black}\tikzmonthcode}}
      if (Sunday) [red]
      if (all) {
      % Again, compute angle
      \mycount=1
      \advance\mycount by -\pgfcalendarcurrentday
      \multiply\mycount by 11
      \advance\mycount by 90
      \pgftransformshift{\pgfpointpolar{\mycount}{1.23cm}}};
    }
\end{tikzpicture}
\end{document}

Dabei habe ich noch ein paar weitere kleine Änderungen vorgenommen: Die Monatsnamen etwas kleiner ausgegeben und der 1. jeden Monats ist jetzt ebenfalls schwarz bzw. rot. Außerdem habe ich den every day Stil leicht verändert.

Permanenter link

beantwortet 03 Sep '15, 14:25

esdd's gravatar image

esdd
14.2k53251

bearbeitet 03 Sep '15, 15:49

Sehr gut, jetzt ist es richtig schön und ich muss nicht immer zählen :() Allerdings habe ich noch die Farben von Herbst und Sommer vertauscht...

(03 Sep '15, 17:07) cis

Ich finde den Platz bei einem DIN A4 Ausdruck nicht optimal ausgenutzt.

Könnte man auch eine Ellipsenanordnung wählen für den äußeren Kreis?

(13 Okt '15, 08:24) cis
1

Auch wenn ich selbst momentan keine Zeit habe, darauf dann zu antworten - aber die Änderung der Form ist meiner Meinung nach wieder eine neue Frage, die Du besser als solche stellst.

(13 Okt '15, 08:28) esdd
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×3

Frage gestellt: 03 Sep '15, 10:25

Frage wurde angeschaut: 1,768 Mal

Zuletzt aktualisiert: 13 Okt '15, 08:28