Pre-Print meines neuen TikZ-Artikels, Teil 2
In Pre-Print meines neuen TikZ-Artikels hatte ich den Folgeteil versprochen, der ist jetzt auch soweit gediegen, dass ich ihn präsentieren kann.
Textsatz mit \LaTeX, Programmieren, Zahlen, etc.
Posts tagged ‘TikZ’
In Pre-Print meines neuen TikZ-Artikels hatte ich den Folgeteil versprochen, der ist jetzt auch soweit gediegen, dass ich ihn präsentieren kann.
Hier die Darstellung einer ADSR Hüllkurve (Quelle: Wikipedia) mit TikZ:
\begin{tikzpicture} %\draw[step=0.5cm,lightgray,thin] (0,0) grid (10,7); \draw[very thick, black,->](1,1) -- (9.5,1); \draw[very thick, black,->](1,1) -- (1,6.5); \draw[very thick, green,](3,1) -- (3,6); \draw[very thick, orange,](5,1) -- (5,6); \draw[very thick, black](7,1) -- (7,6); \draw[very thick, magenta](9,1) -- (9,6); \draw[very thick, gray,](1,1) -- (3,5.5) -- (5,4) -- (7,4)--(9,1); % max amp line \draw[thick, gray,dotted](0.8,5.5) -- (9.5,5.5); \draw[very thick, blue,->](6,1.1) -- (6,3.9); \draw[very thick, green,->](1.1,5.65) -- (2.9,5.65); \draw[very thick, orange,->](3.1,5.65) -- (4.9,5.65); \draw[very thick, blue](5.1,4) -- (6.9,4); \draw[very thick, magenta,->](7.1,5.65) -- (8.9,5.65); \node[label=left:0] (A) at (1,1) {}; \node[label=below:t] (B) at (9.5,1) {}; \node[label=left:{{\scriptsize Amp\textsubscript{max}}}] (C) at (1,5.5) {}; \node[label=above:A] (D) at (2,5.5) {}; \node[label=above:D] (E) at (4,5.5) {}; \node[label=left:S] (F) at (6,2.5) {}; \node[label=above:R] (G) at (8,5.5) {}; \draw[very thick, black,->](1,0.5) -- (1,0.9); \draw[very thick, black,->](7,0.5) -- (7,0.9); \node[label=above:{Key press}] (D) at (1.1,-0.2) {}; \node[label=above:{Key release}] (D) at (7.2,-0.2) {}; \end{tikzpicture} |
Hier ein kleiner Schnipsel TikZ, den ich für die Beantwortung einer LaTeX-Frage geschrieben habe.
\documentclass[fontsize=12pt]{scrartcl} \usepackage{wasysym} \usepackage{tikz} \usepackage[right]{showlabels} \usetikzlibrary{positioning} \usepackage{graphicx} \newcommand{\half}{\rotatebox{-45}{\Huge\RIGHTcircle}} \newcommand{\full}{\Huge\CIRCLE} \begin{document} \begin{center} \begin{tikzpicture}[x=20mm,y=20mm] \node at (0,0) (a1) {\half}; \node at (1,0) (a2) {\half}; \node at (2,0) (a3) {\half}; \node at (3,0) (a4) {\half}; \node at (0,-1) (b1) {\half}; \node at (1,-1) (b2){\full}; \node at (2,-1) (b3) {\half}; \node at (3,-1) (b4) {\full}; \draw (a1) -- (b1); \draw (a2) -- (b2); \draw (a3) -- (b4); \draw (a4) -- (b3); \end{tikzpicture} \end{center} \end{document} |
Here’s a short overview of SQL joins, find the source code of the document attached to the PDF (use Adobe Reader to access it).
\documentclass[12pt]{article} \usepackage{xcolor} \usepackage{arev} \usepackage{attachfile} \usepackage{tikz} \usetikzlibrary{shapes,snakes} \def\firstcircle{(0,0) circle (2cm)} \def\secondcircle{(0:3cm) circle (2cm)} \colorlet{circle edge}{blue!50} \colorlet{circle area}{blue!20} \colorlet{white area}{white} \tikzset{ filled/.style={fill=circle area, draw=circle edge, thick}, outline/.style={draw=circle edge, thick}, white/.style={fill=white area, draw=circle edge, very thick} } \begin{document} \textattachfile{\jobname.tex}{\LaTeX~Code} \section{Inner Join} Inner joins return those records, that are present in table 1 and table 2. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Inner Join \begin{scope} \clip \firstcircle; \fill[filled] \secondcircle; \end{scope} \draw[outline] \firstcircle node {A}; \draw[outline] \secondcircle node {B}; \end{tikzpicture} \end{center} \section{Left Join} Every record from table 1 is returned, regardless if it has a matching record in table 2. If the record has a matching record in table 2 this record from table 2 is returned as well. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Left Join \begin{scope} \clip \firstcircle; \draw[filled] \firstcircle node {A} \secondcircle; \end{scope} \draw[outline] \firstcircle \secondcircle node {B}; \end{tikzpicture} \end{center} \clearpage \section{Left Outer Join} Those records from table 1 are returned, that do not have a match in table 2. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Left Outer Join \draw[filled] \firstcircle node {A}; \draw[white] \secondcircle node {B}; \draw[outline] \firstcircle node {A}; \end{tikzpicture} \end{center} \section{Right Join} Every record from table 2 is returned, regardless if it has a matching record in table 1. If the record has a matching record in table 1 this record from table 1 is returned as well. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Right Join \begin{scope} \clip \secondcircle; \draw[filled] \firstcircle \secondcircle node {B}; \end{scope} \draw[outline] \firstcircle node {A} \secondcircle; \end{tikzpicture} \end{center} \clearpage \section{Right Outer Join} Those records from table 2 are returned, that do not have a match in table 1. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Right Join 2 \draw[filled] \secondcircle node {B}; \draw[white] \firstcircle node {A}; \draw[outline] \secondcircle node {B}; \end{tikzpicture} \end{center} \section{Theta Join} Every row from dataset 1 is multiplied by every row of dataset 2. Usually a mistake unless you really want this Cartesian product. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Theta \draw[filled] \firstcircle node {A} \secondcircle node {B}; \end{tikzpicture} \end{center} \clearpage \section{Full Outer} Returns all records from table 1 and table 2 regardless if they have matches in the other table. Records, that do match, are linked together via key. \begin{center} \begin{tikzpicture}[scale=1, every node/.style={scale=1}] % Full Outer \draw[filled] \firstcircle node {A}; \draw[filled] \secondcircle node {B}; \begin{scope} \clip \firstcircle; \fill[white] \secondcircle; \draw[outline] \secondcircle; \draw[outline] \firstcircle; \end{scope} \end{tikzpicture} \end{center} \end{document} |
Anbei ein Jahreskalender für 2020, erstellt mit LaTeX und Excel. Excel deshalb, weil die Datumsfunktionen recht praktisch sind und mein LaTeX-Programmierkünste dafür nicht ausreichen.
Die Formel für die einzelnen Tage lautet:
=WENNFEHLER("\node at (" & C$2-1 &"," & -1* $B3 & ") [" & WENN(LINKS(TEXT(DATWERT($B3&"."&C$2&"."&$B$2);"TTT");1)="S";"weekend";"workday") & "] {\hspace*{-0.9em}{" & TEXT(DATWERT($B3&"."&C$2&"."&$B$2);"TTT") & "}};";"")
Inhaltlich geschieht dabei folgendes, am 1.1.2020 (Zelle C3)erklärt:
TEXT()
Funktion in den Tagesnamen umgewandeltHier die Dateien:
Hier der LaTeX-Code:
\documentclass{scrartcl} \usepackage[a4paper,landscape,left=0.25cm,right=0.25cm,top=0.5cm,bottom=0.5cm]{geometry} \usepackage[]{ifdraft} \usepackage[]{attachfile} \usepackage[]{eso-pic} \usepackage[english]{babel} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \renewcommand{\familydefault}{\sfdefault} \RequirePackage[scaled=0.9]{helvet} \usepackage{tikz} \usepackage[right]{showlabels} \usetikzlibrary{positioning} \pagestyle{empty} \usepackage{xcolor} \usepackage{hyperref} \usepackage{url} \definecolor{weekendday}{RGB}{240,240,240} \newcommand{\file}[1]{\textattachfile{#1}{\textcolor{blue}{\LaTeX\ Sourcecode}}} \begin{document} \AddToShipoutPictureFG*{ \put(35,10){\footnotesize Uwe Ziegenhagen, ziegenhagen@gmail.com %, \file{\jobname.tex} } } \begin{center} \begin{tikzpicture} [ x=23mm,y=6mm, mybox/.style={rectangle,rounded corners,minimum width=23mm, minimum height=6mm,align=left}, month/.style={mybox,align=center,draw=black,align=left,fill=white,thick,font=\bfseries\large}, date/.style={mybox,draw=gray,fill=white,align=left,thick,minimum width=5mm,font=\bfseries\large}, workday/.style={mybox,draw=black,text width=1.5cm,font=\bfseries\tiny}, weekend/.style={mybox,draw=black,text width=1.5cm,fill=weekendday,font=\bfseries\tiny} ] \node at (0,0) [month] {Januar}; \node at (1,0) [month] {Februar}; \node at (2,0) [month] {März}; \node at (3,0) [month] {April}; \node at (4,0) [month] {Mai}; \node at (5,0) [month] {Juni}; \node at (6,0) [month] {Juli}; \node at (7,0) [month] {August}; \node at (8,0) [month] {September}; \node at (9,0) [month] {Oktober}; \node at (10,0) [month] {November}; \node at (11,0) [month] {Dezember}; \node at (-0.7,-1) [date] {01}; \node at (-0.7,-2) [date] {02}; \node at (-0.7,-3) [date] {03}; \node at (-0.7,-4) [date] {04}; \node at (-0.7,-5) [date] {05}; \node at (-0.7,-6) [date] {06}; \node at (-0.7,-7) [date] {07}; \node at (-0.7,-8) [date] {08}; \node at (-0.7,-9) [date] {09}; \node at (-0.7,-10) [date] {10}; \node at (-0.7,-11) [date] {11}; \node at (-0.7,-12) [date] {12}; \node at (-0.7,-13) [date] {13}; \node at (-0.7,-14) [date] {14}; \node at (-0.7,-15) [date] {15}; \node at (-0.7,-16) [date] {16}; \node at (-0.7,-17) [date] {17}; \node at (-0.7,-18) [date] {18}; \node at (-0.7,-19) [date] {19}; \node at (-0.7,-20) [date] {20}; \node at (-0.7,-21) [date] {21}; \node at (-0.7,-22) [date] {22}; \node at (-0.7,-23) [date] {23}; \node at (-0.7,-24) [date] {24}; \node at (-0.7,-25) [date] {25}; \node at (-0.7,-26) [date] {26}; \node at (-0.7,-27) [date] {27}; \node at (-0.7,-28) [date] {28}; \node at (-0.7,-29) [date] {29}; \node at (-0.7,-30) [date] {30}; \node at (-0.7,-31) [date] {31}; \node at (11.7,-1) [date] {01}; \node at (11.7,-2) [date] {02}; \node at (11.7,-3) [date] {03}; \node at (11.7,-4) [date] {04}; \node at (11.7,-5) [date] {05}; \node at (11.7,-6) [date] {06}; \node at (11.7,-7) [date] {07}; \node at (11.7,-8) [date] {08}; \node at (11.7,-9) [date] {09}; \node at (11.7,-10) [date] {10}; \node at (11.7,-11) [date] {11}; \node at (11.7,-12) [date] {12}; \node at (11.7,-13) [date] {13}; \node at (11.7,-14) [date] {14}; \node at (11.7,-15) [date] {15}; \node at (11.7,-16) [date] {16}; \node at (11.7,-17) [date] {17}; \node at (11.7,-18) [date] {18}; \node at (11.7,-19) [date] {19}; \node at (11.7,-20) [date] {20}; \node at (11.7,-21) [date] {21}; \node at (11.7,-22) [date] {22}; \node at (11.7,-23) [date] {23}; \node at (11.7,-24) [date] {24}; \node at (11.7,-25) [date] {25}; \node at (11.7,-26) [date] {26}; \node at (11.7,-27) [date] {27}; \node at (11.7,-28) [date] {28}; \node at (11.7,-29) [date] {29}; \node at (11.7,-30) [date] {30}; \node at (11.7,-31) [date] {31}; % hier kommen die Sachen aus Excel rein \end{tikzpicture} \end{center} \end{document} |
Hier ein Beispiel, wie man mit tikz-calendar Jahreskalender erstellen kann. Kalenderereignisse müssen in einer externen Datei abgelegt werden, im Beispiel ist das die meineevents.events
.
Die Farbnamen für die einzelnen Elemente lassen sich in https://www.sciencetronics.com/greenphotons/wp-content/uploads/2016/10/xcolor_names.pdf nachlesen.
\documentclass{tikz-kalender} \setup{% lang=german, year=2020, showweeknumbers=true, title={Urlaub}, xcoloroptions={x11names}, titleColor=cyan, eventColor=brown, periodColor=lime, monthBGcolor=red, monthColor=Purple0, workdayColor=yellow, saturdayColor=magenta, sundayColor=orange, events={meineevents} % Einbinden der events-Datei } \begin{document} \makeKalender \end{document} |
Hier der Inhalt der meineevents.events
:
\event{\year-10-09}{John Lennon (1940)} \event{2020-10-03}{Tag d. dt. Einheit} \event*{2020-04-12}{Ostersonntag} \period{2020-02-01}{2020-02-06}[color=Gray0,name={Urlaub}];
Hier ein zusammengefrickeltes Beispiel für einen TikZ-basierten Jahreskalender. „Zusammengefrickelt“ deshalb, weil es bestimmt über die TikZ- und pgf-Kalenderfunktionen viel einfacher und eleganter geht. Letzlich tut es aber 😉
Kalender_2018 (auch wenn das PDF im Namen „2017“ trägt)
\documentclass[fontsize=6pt]{scrartcl} \usepackage[a4paper,landscape,left=0.5cm,right=0.5cm,top=0.5cm,bottom=0.5cm]{geometry} \usepackage[]{ifdraft} \usepackage[]{attachfile} \usepackage[]{eso-pic} \usepackage[english]{babel} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \renewcommand{\familydefault}{\sfdefault} \RequirePackage[scaled=0.9]{helvet} \usepackage{tikz} \usepackage[right]{showlabels} \usetikzlibrary{positioning} \pagestyle{empty} \usepackage{xcolor} \usepackage{hyperref} \usepackage{url} \definecolor{weekendday}{RGB}{220,220,220} \newcommand{\file}[1]{\textattachfile{#1}{\textcolor{blue}{\LaTeX\ Sourcecode}}} \begin{document} \AddToShipoutPictureFG*{ \put(35,10){\footnotesize Uwe Ziegenhagen, ziegenhagen@gmail.com, \file{\jobname.tex} } } \begin{center} \begin{tikzpicture} [ x=23mm,y=6mm, mybox/.style={rectangle,rounded corners,minimum width=23mm, minimum height=6mm}, month/.style={mybox,align=center,draw=black,fill=yellow,thick,font=\bfseries\Large}, date/.style={mybox,draw=gray,fill=yellow,align=left,thick,minimum width=5mm,font=\bfseries\Large}, day/.style={mybox,draw=black,align=left}, weekendday/.style={mybox,draw=black,align=left,fill=weekendday} ] \node at (0,0) [month] {Januar}; \node at (1,0) [month] {Februar}; \node at (2,0) [month] {März}; \node at (3,0) [month] {April}; \node at (4,0) [month] {Mai}; \node at (5,0) [month] {Juni}; \node at (6,0) [month] {Juli}; \node at (7,0) [month] {August}; \node at (8,0) [month] {September}; \node at (9,0) [month] {Oktober}; \node at (10,0) [month] {November}; \node at (11,0) [month] {Dezember}; \node at (-0.6,-1) [date] {01}; \node at (-0.6,-2) [date] {02}; \node at (-0.6,-3) [date] {03}; \node at (-0.6,-4) [date] {04}; \node at (-0.6,-5) [date] {05}; \node at (-0.6,-6) [date] {06}; \node at (-0.6,-7) [date] {07}; \node at (-0.6,-8) [date] {08}; \node at (-0.6,-9) [date] {09}; \node at (-0.6,-10) [date] {10}; \node at (-0.6,-11) [date] {11}; \node at (-0.6,-12) [date] {12}; \node at (-0.6,-13) [date] {13}; \node at (-0.6,-14) [date] {14}; \node at (-0.6,-15) [date] {15}; \node at (-0.6,-16) [date] {16}; \node at (-0.6,-17) [date] {17}; \node at (-0.6,-18) [date] {18}; \node at (-0.6,-19) [date] {19}; \node at (-0.6,-20) [date] {20}; \node at (-0.6,-21) [date] {21}; \node at (-0.6,-22) [date] {22}; \node at (-0.6,-23) [date] {23}; \node at (-0.6,-24) [date] {24}; \node at (-0.6,-25) [date] {25}; \node at (-0.6,-26) [date] {26}; \node at (-0.6,-27) [date] {27}; \node at (-0.6,-28) [date] {28}; \node at (-0.6,-29) [date] {29}; \node at (-0.6,-30) [date] {30}; \node at (-0.6,-31) [date] {31}; \node at (0,-1) [day] {}; \node at (0,-2) [day] {}; \node at (0,-3) [day] {}; \node at (0,-4) [day] {}; \node at (0,-5) [day] {}; \node at (0,-6) [weekendday] {}; \node at (0,-7) [weekendday] {}; \node at (0,-8) [day] {}; \node at (0,-9) [day] {}; \node at (0,-10) [day] {}; \node at (0,-11) [day] {}; \node at (0,-12) [day] {}; \node at (0,-13) [weekendday] {}; \node at (0,-14) [weekendday] {}; \node at (0,-15) [day] {}; \node at (0,-16) [day] {}; \node at (0,-17) [day] {}; \node at (0,-18) [day] {}; \node at (0,-19) [day] {}; \node at (0,-20) [weekendday] {}; \node at (0,-21) [weekendday] {}; \node at (0,-22) [day] {}; \node at (0,-23) [day] {}; \node at (0,-24) [day] {}; \node at (0,-25) [day] {}; \node at (0,-26) [day] {}; \node at (0,-27) [weekendday] {}; \node at (0,-28) [weekendday] {}; \node at (0,-29) [day] {}; \node at (0,-30) [day] {}; \node at (0,-31) [day] {}; \node at (1,-1) [day] {}; \node at (1,-2) [day] {}; \node at (1,-3) [weekendday] {}; \node at (1,-4) [weekendday] {}; \node at (1,-5) [day] {}; \node at (1,-6) [day] {}; \node at (1,-7) [day] {}; \node at (1,-8) [day] {}; \node at (1,-9) [day] {}; \node at (1,-10) [weekendday] {}; \node at (1,-11) [weekendday] {}; \node at (1,-12) [day] {}; \node at (1,-13) [day] {}; \node at (1,-14) [day] {}; \node at (1,-15) [day] {}; \node at (1,-16) [day] {}; \node at (1,-17) [weekendday] {}; \node at (1,-18) [weekendday] {}; \node at (1,-19) [day] {}; \node at (1,-20) [day] {}; \node at (1,-21) [day] {}; \node at (1,-22) [day] {}; \node at (1,-23) [day] {}; \node at (1,-24) [weekendday] {}; \node at (1,-25) [weekendday] {}; \node at (1,-26) [day] {}; \node at (1,-27) [day] {}; \node at (1,-28) [day] {}; \node at (2,-1) [day] {}; \node at (2,-2) [day] {}; \node at (2,-3) [weekendday] {}; \node at (2,-4) [weekendday] {}; \node at (2,-5) [day] {}; \node at (2,-6) [day] {}; \node at (2,-7) [day] {}; \node at (2,-8) [day] {}; \node at (2,-9) [day] {}; \node at (2,-10) [weekendday] {}; \node at (2,-11) [weekendday] {}; \node at (2,-12) [day] {}; \node at (2,-13) [day] {}; \node at (2,-14) [day] {}; \node at (2,-15) [day] {}; \node at (2,-16) [day] {}; \node at (2,-17) [weekendday] {}; \node at (2,-18) [weekendday] {}; \node at (2,-19) [day] {}; \node at (2,-20) [day] {}; \node at (2,-21) [day] {}; \node at (2,-22) [day] {}; \node at (2,-23) [day] {}; \node at (2,-24) [weekendday] {}; \node at (2,-25) [weekendday] {}; \node at (2,-26) [day] {}; \node at (2,-27) [day] {}; \node at (2,-28) [day] {}; \node at (2,-29) [day] {}; \node at (2,-30) [day] {}; \node at (2,-31) [weekendday] {}; \node at (3,-1) [weekendday] {}; \node at (3,-2) [day] {}; \node at (3,-3) [day] {}; \node at (3,-4) [day] {}; \node at (3,-5) [day] {}; \node at (3,-6) [day] {}; \node at (3,-7) [weekendday] {}; \node at (3,-8) [weekendday] {}; \node at (3,-9) [day] {}; \node at (3,-10) [day] {}; \node at (3,-11) [day] {}; \node at (3,-12) [day] {}; \node at (3,-13) [day] {}; \node at (3,-14) [weekendday] {}; \node at (3,-15) [weekendday] {}; \node at (3,-16) [day] {}; \node at (3,-17) [day] {}; \node at (3,-18) [day] {}; \node at (3,-19) [day] {}; \node at (3,-20) [day] {}; \node at (3,-21) [weekendday] {}; \node at (3,-22) [weekendday] {}; \node at (3,-23) [day] {}; \node at (3,-24) [day] {}; \node at (3,-25) [day] {}; \node at (3,-26) [day] {}; \node at (3,-27) [day] {}; \node at (3,-28) [weekendday] {}; \node at (3,-29) [weekendday] {}; \node at (3,-30) [day] {}; \node at (4,-1) [day] {}; \node at (4,-2) [day] {}; \node at (4,-3) [day] {}; \node at (4,-4) [day] {}; \node at (4,-5) [weekendday] {}; \node at (4,-6) [weekendday] {}; \node at (4,-7) [day] {}; \node at (4,-8) [day] {}; \node at (4,-9) [day] {}; \node at (4,-10) [day] {}; \node at (4,-11) [day] {}; \node at (4,-12) [weekendday] {}; \node at (4,-13) [weekendday] {}; \node at (4,-14) [day] {}; \node at (4,-15) [day] {}; \node at (4,-16) [day] {}; \node at (4,-17) [day] {}; \node at (4,-18) [day] {}; \node at (4,-19) [weekendday] {}; \node at (4,-20) [weekendday] {}; \node at (4,-21) [day] {}; \node at (4,-22) [day] {}; \node at (4,-23) [day] {}; \node at (4,-24) [day] {}; \node at (4,-25) [day] {}; \node at (4,-26) [weekendday] {}; \node at (4,-27) [weekendday] {}; \node at (4,-28) [day] {}; \node at (4,-29) [day] {}; \node at (4,-30) [day] {}; \node at (4,-31) [day] {}; \node at (5,-1) [day] {}; \node at (5,-2) [weekendday] {}; \node at (5,-3) [weekendday] {}; \node at (5,-4) [day] {}; \node at (5,-5) [day] {}; \node at (5,-6) [day] {}; \node at (5,-7) [day] {}; \node at (5,-8) [day] {}; \node at (5,-9) [weekendday] {}; \node at (5,-10) [weekendday] {}; \node at (5,-11) [day] {}; \node at (5,-12) [day] {}; \node at (5,-13) [day] {}; \node at (5,-14) [day] {}; \node at (5,-15) [day] {}; \node at (5,-16) [weekendday] {}; \node at (5,-17) [weekendday] {}; \node at (5,-18) [day] {}; \node at (5,-19) [day] {}; \node at (5,-20) [day] {}; \node at (5,-21) [day] {}; \node at (5,-22) [day] {}; \node at (5,-23) [weekendday] {}; \node at (5,-24) [weekendday] {}; \node at (5,-25) [day] {}; \node at (5,-26) [day] {}; \node at (5,-27) [day] {}; \node at (5,-28) [day] {}; \node at (5,-29) [day] {}; \node at (5,-30) [weekendday] {}; \node at (6,-1) [weekendday] {}; \node at (6,-2) [day] {}; \node at (6,-3) [day] {}; \node at (6,-4) [day] {}; \node at (6,-5) [day] {}; \node at (6,-6) [day] {}; \node at (6,-7) [weekendday] {}; \node at (6,-8) [weekendday] {}; \node at (6,-9) [day] {}; \node at (6,-10) [day] {}; \node at (6,-11) [day] {}; \node at (6,-12) [day] {}; \node at (6,-13) [day] {}; \node at (6,-14) [weekendday] {}; \node at (6,-15) [weekendday] {}; \node at (6,-16) [day] {}; \node at (6,-17) [day] {}; \node at (6,-18) [day] {}; \node at (6,-19) [day] {}; \node at (6,-20) [day] {}; \node at (6,-21) [weekendday] {}; \node at (6,-22) [weekendday] {}; \node at (6,-23) [day] {}; \node at (6,-24) [day] {}; \node at (6,-25) [day] {}; \node at (6,-26) [day] {}; \node at (6,-27) [day] {}; \node at (6,-28) [weekendday] {}; \node at (6,-29) [weekendday] {}; \node at (6,-30) [day] {}; \node at (6,-31) [day] {}; \node at (7,-1) [day] {}; \node at (7,-2) [day] {}; \node at (7,-3) [day] {}; \node at (7,-4) [weekendday] {}; \node at (7,-5) [weekendday] {}; \node at (7,-6) [day] {}; \node at (7,-7) [day] {}; \node at (7,-8) [day] {}; \node at (7,-9) [day] {}; \node at (7,-10) [day] {}; \node at (7,-11) [weekendday] {}; \node at (7,-12) [weekendday] {}; \node at (7,-13) [day] {}; \node at (7,-14) [day] {}; \node at (7,-15) [day] {}; \node at (7,-16) [day] {}; \node at (7,-17) [day] {}; \node at (7,-18) [weekendday] {}; \node at (7,-19) [weekendday] {}; \node at (7,-20) [day] {}; \node at (7,-21) [day] {}; \node at (7,-22) [day] {}; \node at (7,-23) [day] {}; \node at (7,-24) [day] {}; \node at (7,-25) [weekendday] {}; \node at (7,-26) [weekendday] {}; \node at (7,-27) [day] {}; \node at (7,-28) [day] {}; \node at (7,-29) [day] {}; \node at (7,-30) [day] {}; \node at (8,-1) [day] {}; \node at (8,-2) [weekendday] {}; \node at (8,-3) [weekendday] {}; \node at (8,-4) [day] {}; \node at (8,-5) [day] {}; \node at (8,-6) [day] {}; \node at (8,-7) [day] {}; \node at (8,-8) [day] {}; \node at (8,-9) [weekendday] {}; \node at (8,-10) [weekendday] {}; \node at (8,-11) [day] {}; \node at (8,-12) [day] {}; \node at (8,-13) [day] {}; \node at (8,-14) [day] {}; \node at (8,-15) [day] {}; \node at (8,-16) [weekendday] {}; \node at (8,-17) [weekendday] {}; \node at (8,-18) [day] {}; \node at (8,-19) [day] {}; \node at (8,-20) [day] {}; \node at (8,-21) [day] {}; \node at (8,-22) [day] {}; \node at (8,-23) [weekendday] {}; \node at (8,-24) [weekendday] {}; \node at (8,-25) [day] {}; \node at (8,-26) [day] {}; \node at (8,-27) [day] {}; \node at (8,-28) [day] {}; \node at (8,-29) [day] {}; \node at (8,-30) [weekendday] {}; \node at (8,-31) [weekendday] {}; \node at (9,-1) [day] {}; \node at (9,-2) [day] {}; \node at (9,-3) [day] {}; \node at (9,-4) [day] {}; \node at (9,-5) [day] {}; \node at (9,-6) [weekendday] {}; \node at (9,-7) [weekendday] {}; \node at (9,-8) [day] {}; \node at (9,-9) [day] {}; \node at (9,-10) [day] {}; \node at (9,-11) [day] {}; \node at (9,-12) [day] {}; \node at (9,-13) [weekendday] {}; \node at (9,-14) [weekendday] {}; \node at (9,-15) [day] {}; \node at (9,-16) [day] {}; \node at (9,-17) [day] {}; \node at (9,-18) [day] {}; \node at (9,-19) [day] {}; \node at (9,-20) [weekendday] {}; \node at (9,-21) [weekendday] {}; \node at (9,-22) [day] {}; \node at (9,-23) [day] {}; \node at (9,-24) [day] {}; \node at (9,-25) [day] {}; \node at (9,-26) [day] {}; \node at (9,-27) [weekendday] {}; \node at (9,-28) [weekendday] {}; \node at (9,-29) [day] {}; \node at (9,-30) [day] {}; \node at (9,-31) [day] {}; \node at (10,-1) [day] {}; \node at (10,-2) [day] {}; \node at (10,-3) [weekendday] {}; \node at (10,-4) [weekendday] {}; \node at (10,-5) [day] {}; \node at (10,-6) [day] {}; \node at (10,-7) [day] {}; \node at (10,-8) [day] {}; \node at (10,-9) [day] {}; \node at (10,-10) [weekendday] {}; \node at (10,-11) [weekendday] {}; \node at (10,-12) [day] {}; \node at (10,-13) [day] {}; \node at (10,-14) [day] {}; \node at (10,-15) [day] {}; \node at (10,-16) [day] {}; \node at (10,-17) [weekendday] {}; \node at (10,-18) [weekendday] {}; \node at (10,-19) [day] {}; \node at (10,-20) [day] {}; \node at (10,-21) [day] {}; \node at (10,-22) [day] {}; \node at (10,-23) [day] {}; \node at (10,-24) [weekendday] {}; \node at (10,-25) [weekendday] {}; \node at (10,-26) [day] {}; \node at (10,-27) [day] {}; \node at (10,-28) [day] {}; \node at (10,-29) [day] {}; \node at (10,-30) [day] {}; \node at (11,-1) [weekendday] {}; \node at (11,-2) [weekendday] {}; \node at (11,-3) [day] {}; \node at (11,-4) [day] {}; \node at (11,-5) [day] {}; \node at (11,-6) [day] {}; \node at (11,-7) [day] {}; \node at (11,-8) [weekendday] {}; \node at (11,-9) [weekendday] {}; \node at (11,-10) [day] {}; \node at (11,-11) [day] {}; \node at (11,-12) [day] {}; \node at (11,-13) [day] {}; \node at (11,-14) [day] {}; \node at (11,-15) [weekendday] {}; \node at (11,-16) [weekendday] {}; \node at (11,-17) [day] {}; \node at (11,-18) [day] {}; \node at (11,-19) [day] {}; \node at (11,-20) [day] {}; \node at (11,-21) [day] {}; \node at (11,-22) [weekendday] {}; \node at (11,-23) [weekendday] {}; \node at (11,-24) [day] {}; \node at (11,-25) [day] {}; \node at (11,-26) [day] {}; \node at (11,-27) [day] {}; \node at (11,-28) [day] {}; \node at (11,-29) [weekendday] {}; \node at (11,-30) [weekendday] {}; \node at (11,-31) [day] {}; \end{tikzpicture} \end{center} \end{document} |
Hier ein Beispiel für Diagramme mit TikZ:
\documentclass[12pt,ngerman]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{tikz} \begin{document} \begin{tikzpicture} [ mybox/.style={rectangle,rounded corners,xshift=1cm,yshift=1cm,minimum width=20mm, minimum height=5mm}, lang/.style={mybox,black,align=center,draw=black,fill=yellow,very thick,font=\bfseries}, ] \node at (5,-1) {\bfseries\large imperativ/prozedural}; \node at (13,-1) {\bfseries\large objektorientiert}; \node at (1,12) {\textbf{1950}}; \node at (1,10) {\textbf{1960}}; \node at (1,8) {\textbf{1970}}; \node at (1,6) {\textbf{1980}}; \node at (1,4) {\textbf{1990}}; \node at (1,2) {\textbf{2000}}; \node at (1,0) {\textbf{2010}}; \draw (2,0) -- (15,0); \draw (2,2) -- (15,2); \draw (2,4) -- (15,4); \draw (2,6) -- (15,6); \draw (2,8) -- (15,8); \draw (2,10) -- (15,10); \draw (2,12) -- (15,12); \node at (10,2.5) [lang] {Python}; \node at (4,10.5) [lang] {Fortran}; \end{tikzpicture} \end{document} |
Hier ein Beispiel aus der Dokumentation des pixelart
Pakets von Louis Paternault
\documentclass[12pt]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{pixelart} \begin{document} I \bwpixelart[color=red, scale=.05, raise=-0.3ex]{% 001101100 011111110 111111111 111111111 111111111 011111110 001111100 000111000 000010000 } \LaTeX \end{document} |
After drawing the cubic Bezier a few days ago I wanted to animate it. Using the animate
package this is fairly simple:
\documentclass{article} \usepackage[paperwidth=5.5cm,paperheight=5.3cm,left=0cm,right=0cm,bottom=0cm,top=0.25cm]{geometry} \usepackage{tikz} \definecolor{fom}{RGB}{0,153,139} \newcommand{\dat}{0.7} % 0.67 \usepackage{animate} \begin{document} \begin{animateinline}[poster=last, controls, palindrome]{10} \multiframe{70}{Ry=0.1+0.01}{ \begin{tikzpicture}[x=4cm,y=4cm] \draw[line width=1pt,lightgray] (0,0) -- (1,1); \draw (0,0) -- (1,0) -- (1,1) -- (0,1) -- (0,0); \draw (0,0) -- (0.17,0.67); \draw (1,1) -- (0.83,\Ry); \draw [magenta,fill=magenta](0.17,0.67) circle (.5ex); \draw [fom,fill=fom](0.83,\Ry) circle (.5ex); \draw[line width=1pt] (0,0) .. controls (0.17,0.67) and (0.83,\Ry) .. (1,1); \node[label={[label distance=0.0cm,text depth=-1ex,rotate=90]left:Fortschritt in \%}] at (-0.1,.8) {}; \node[label={[label distance=0.0cm,text depth=-1ex]right:Zeit-Achse}] at (0,-0.05) {}; \end{tikzpicture}} \end{animateinline} \end{document} |
I am animating in the TeX code (not externally) so I use animateinline
with 10 frames per second. Inside this environment I prepare 70 frames, where I have the y-coordinate of the second point loop from 0.1 in steps of 0.01. The looping is controlled via Ry (that translates to \Ry in the loop). That’s it!
Here is the resulting PDF: bezier
PS: I used pdflatex from the TeX Live 2014.