Es geht um das Zusammenwürfeln der Fragen:

https://texwelt.de/wissen/fragen/22435/tikz-calendar-wie-kalender-seitengro-setzen

und

https://texwelt.de/wissen/fragen/22452/tikz-text-in-node-platzieren

__

Ich möchte, dass die Zahlen exakt oben links oder exakt unten rechts in den Rechtecken stehen.

Mit der Einstellung

Öffne in Overleaf
text width=(\textwidth-\pgflinewidth)/5-1pt, 
text depth=(\textheight-\pgflinewidth)/7-1pt,
  day xshift=(\textwidth-\pgflinewidth)/7,
  day yshift=(\textheight-\pgflinewidth)/5,

kommt es nahezu hin, allerdings erzeugt es unschöne Zusatzlinien.

alt text

Was muss ich anders machen?

Öffne in Overleaf
\documentclass[landscape]{scrartcl}
\usepackage[margin=1.75cm,showframe=true]{geometry}
\pagestyle{empty}

\usepackage{tikz}
\usetikzlibrary{calendar}
%\usetikzlibrary{decorations}
%\usetikzlibrary{shapes.multipart}

\begin{document}
\centering
\begin{tikzpicture}[
every day/.append style={
font=\Large\bfseries,
align=flush left,
%    anchor=south east,
    draw,
    minimum width=(\textwidth-\pgflinewidth)/7 , %<-geändert
    minimum height=(\textheight-\pgflinewidth)/5,%<-geändert
}
]
\calendar
[
text width=(\textwidth-\pgflinewidth)/5-1pt, 
text depth=(\textheight-\pgflinewidth)/7-1pt,
  day xshift=(\textwidth-\pgflinewidth)/7,% <- eingefügt
  day yshift=(\textheight-\pgflinewidth)/5,% <- eingefügt
  dates=2018-08-01 to 2018-08-31,
  week list,
%  day text=red
]
if (Sunday) [red]
if=(equals=08-10) [rectangle, draw, blue]
;
\end{tikzpicture}

\end{document}

gefragt 31 Jul '18, 21:27

cis's gravatar image

cis
9.4k23249461
Akzeptiert-Rate: 29%


Eigentlich geht das ganz einfach mit den beiden Antworten und Saputello's Kommentar unter meiner Antwort. Im wesentlichen hast Du nur vergessen, text width und text depth auch in den every day Style einzutragen.

Öffne in Overleaf
\documentclass[landscape]{scrartcl}
\usepackage[margin=1.75cm,showframe=true]{geometry}
\pagestyle{empty}

\usepackage{tikz}
\usetikzlibrary{calendar}

\pgfkeys{tikz/.cd,
         my inner sep/.store in =\myinnersep,
         my inner sep=8pt
}
\begin{document}
% so bekommt man die 16.03793pt
%{\Huge \pgfmathsetmacro{\myheight}{height("1")}
%\typeout{\myheight}}
\centering
\begin{tikzpicture}[
  every day/.append style={
    font=\Huge,
    draw,
    inner sep=\myinnersep,
    text width=(\textwidth-\pgflinewidth)/7-2*\myinnersep, %<-geändert
    text depth=(\textheight-\pgflinewidth)/5-16.03793pt-2*\myinnersep,%<-geändert
    minimum width=(\textwidth-\pgflinewidth)/7 , %<-geändert
    minimum height=(\textheight-\pgflinewidth)/5,%<-geändert
  },
]
\calendar
[
  day xshift=(\textwidth-\pgflinewidth)/7,% <- eingefügt
  day yshift=(\textheight-\pgflinewidth)/5,% <- eingefügt
  dates=2018-08-01 to 2018-08-31,
  week list, 
]
if (Sunday, Saturday) [red]
;
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 01 Aug '18, 03:46

Community's gravatar image

Community
11
Akzeptiert-Rate: 56%

@cis Ja natürlich. Das unschöne daran ist, dass das Auslesen ein kleines bisschen Platz braucht. Das kann man mit einer \savebox umgehen, aber dann hatte ich befürchtet, dass der code als "zu komplizieret" geächtet wird, deswegen habe ich gelassen. ;-)

(01 Aug '18, 17:52) Community

@cis Ich würde Dich wirklich bitten, ein bisschen darauf zu achten, wie Du hier herumfuhrwerkst. Ich habe mich aus dem Forum praktisch komplett zurückgezogen, weil es immer dies Kommentare gibt, die vielleicht gut gemeint aber meiner Meinung nach komplett unverständlich (und leider auch etwas unverschämt) sind. Bitte spar Dir diese Kommentare einfach oder lerne, so zu schreiben, dass man das Ganze nicht 100 Mal lesen muss.

(24 Nov '18, 20:10) Community
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×688
×71
×41
×12

gestellte Frage: 31 Jul '18, 21:27

Frage wurde gesehen: 2,309 Mal

zuletzt geändert: 24 Nov '18, 20:11