\pdfminorversion=5 % to allow compression \pdfobjcompresslevel=2 % Vor ersten usepackage aufzurufen \usepackage{etex} % 256 Register auf 32768 erhöhen \reserveinserts{30} % ----------------------------------------- % Abbildungen & Tabellen % ----------------------------------------- \usepackage{float} \usepackage{floatflt} \usepackage{wrapfig} \usepackage[ font=small, % footnotesize, small labelfont=bf,up,sf, %textfont=it,up, justification=raggedright, % justified singlelinecheck=false, %format=plain, %indention=0cm, ]{caption} \captionsetup[table]{skip=.5em} \captionsetup[figure]{skip=10pt}%,belowskip=-1em %\setlength{\intextsep}{12.0pt plus 2.0pt minus 2.0pt} %\addtokomafont{caption}{\small} % Bildunterschrift Größe "small" %\setkomafont{captionlabel}{\sffamily\bfseries} % das Label wird serifenlos und fett \usepackage{subcaption} \usepackage{tablefootnote} % ----------------------------------------- % Abbildungen % ----------------------------------------- \usepackage[% %draft, %dvips, % or dvipdfm, pdftex ]{graphicx} %\graphicspath{{path_to_images/}} %\graphicspath{{the/first/path/}{the/second/path/}} \graphicspath{{./figures/}} % Grafik abschneiden (links unten rechts oben): % \includegraphics[trim=0 0 2cm 0,clip,width=\textwidth]{Bild} % with px units, where is the resolution of the image: % \pdfpxdimen=\dimexpr 1 in/\relax % \includegraphics[trim=0 0 20px 0,clip,width=\textwidth]{Bild} % or use defined dpi option: \makeatletter \define@key{Gin}{dpi}{% \pdfpxdimen=\dimexpr 1in/(#1)\relax } \makeatother % \includegraphics[dpi=600,clip,trim=0 100px 200px 100px]{Figure-a} % 600 dpi \usepackage{epsfig} % um eps-Dateien einzubinden (\epsfig{file=...}) \makeatletter \renewcommand*\l@figure{\@dottedtocline{1}{0em}{2.8em}} \renewcommand*\l@table{\@dottedtocline{1}{0em}{2.3em}} \makeatother \newcommand{\FC}[4]{ \begin{figure}[!htb] % htb, !htb \centering \includegraphics[#1]{#2} \caption{#3} \label{#4} \end{figure} } \newcommand{\FCF}[5]{ \begin{figure}[htb] % htbp, !htbp \centering \includegraphics[#1]{#2} \caption[#3]{#3\footnotemark} \label{#5} \end{figure}% \footnotetext{#4} } \newcommand{\PFC}[5]{ \begin{figure}[#1] % htb, !htb \centering \includegraphics[#2]{#3} \caption{#4} \label{#5} \end{figure} } \newcommand{\PFCF}[6]{ \begin{figure}[#1] % htbp, !htbp \centering \includegraphics[#2]{#3} \caption[#4]{#4\footnotemark} \label{#6} \end{figure}% \footnotetext{#5} } % Workaround to get the footnote on the same page when figure is at the top or bottom of the page \newcommand{\PFCFW}[6]{ \begin{figure}[#1] % htbp, !htbp \centering \includegraphics[#2]{#3} \caption[#4]{#4\footnotemark} \label{#6} \end{figure}% \vspace{-2em}% \footnotetext{#5} } \newcommand{\GL}[2]{ \includegraphics[#1]{#2} } \newcommand{\GC}[2]{ \centering \includegraphics[#1]{#2} } \newcommand{\FFR}[5]{ \begin{floatingfigure}[r]{#1} \includegraphics[#2]{#3} \caption[#4]{#4} \label{#5} \end{floatingfigure} } \newcommand{\FFRF}[6]{ \begin{floatingfigure}[r]{#1} \includegraphics[#2]{#3} \caption[#4]{#4\footnotemark} \label{#6} \end{floatingfigure} \footnotetext{#5} } \usepackage[all]{xy} % Diagramme % ----------------------------------------- % Tabellen % ----------------------------------------- %\usepackage{rotating} % rotated text, vertical: \begin{sideways} ... \end{sideways} \usepackage{longtable} % fuer Tabellen ueber mehrere Seiten \usepackage{multicol} % fuer mehrspaltigen Text auf einer Seite \usepackage{multirow} % fuer mehrreihigen Text auf einer Seite \usepackage{booktabs} \usepackage{array} \usepackage{eqnarray} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \newcolumntype{C}[1]{>{\centering}p{#1}<{}} %\newcolumntype{L}[1]{>{\raisebox{\heightof{\rule{0pt}{1cm}}}{}}p{#1}} \newcommand{\multirowr}[3]{\multirow{#1}{*}{\parbox{#2}{\raggedright #3}}} % Anzahl Zeilen, Weite, Inhalt %\usepackage{fancybox} % besondere Rahmen, Schatten %\begin{center} %\resizebox{0.95\textwidth}{!}{% %\begin{tabular} %... %\end{tabular}} %\end{center} % ----------------------------------------- % Aufzählungen % ----------------------------------------- \renewcommand{\labelitemi}{--} \renewcommand{\labelitemii}{\(\boldsymbol\cdot\)} % \times \usepackage{enumerate} % Verbesserte Enumerate-Umgebung \usepackage{enumitem} \setlist{nosep} % noitemsep \setlist[1]{labelindent=\parindent} % Usually a good idea \setlist[itemize]{parsep=0pt,itemsep=0pt,leftmargin=*} \usepackage{listings} \lstdefinestyle{custom}{ %xleftmargin=2em, } \lstdefinestyle{tex}{ % BEFORE loading tikz!? language=[LaTeX]tex, tabsize=4, breaklines=true, breakindent=0pt, columns=fullflexible, basicstyle=\ttfamily % otherwise copy-and-paste won’t work } \lstset{ style=custom, language=Matlab, basicstyle=\small\ttfamily, % small, footnotesize keywordstyle=\color{blue}, % \bfseries commentstyle=\color{dkgreen}, % \itshape %identifierstyle=\color{blue}, stringstyle=\color{mauve}, numberstyle=\tiny\color{gray}, % \ttfamily numbers=left, numbersep=5pt, %stepnumber=2, %backgroundcolor=\color{white}, %frame=single,%trblTRBL,none|leftline|topline|bottomline|lines|single|shadowbox %frameround=ffff, % tf|rf|rf|rf NE,SE,SW,NW %rulecolor=\color{black}, %showspaces=false, %showstringspaces=false, %showtabs=false, %float, breaklines=true, breakatwhitespace=true, %breakindent=20pt, tabsize=2, xleftmargin=2em, % 2\parskip %title=\lstname, %captionpos=b, % b: bottom %belowcaptionskip=1\baselineskip, texcl=true, % LATEX comment lines, for äöü... %escapebegin=\begin{arab},escapeend=\end{arab}, escapeinside={\%*}{*)}, %morekeywords={*,...}, %deletekeywords={...}, firstnumber=auto, % auto: Listings with identical names (case sensitive!) share a line counter / or number } \newcommand{\includecode}[2][c]{ \lstinputlisting[ caption=#2, escapechar=, style=#1, %label=DescriptiveLabel, ]{#2}} % \includecode{sched.c} % \includecode[asm]{sched.s} % \lstlistoflistings % ----------------------------------------- % Zusatzzeichen, Mathematik, Chemie % ----------------------------------------- % fette Schrift, z.B. $\boldsymbol{\pi}$ % Zusammenrücken: \!, \negmedspace, \negthickspace % Platz einfügen: \, \: \; ~ oder \quad und \qquad % mehrzeilige Grenzen, \substack{...\\...} % \overset{}{} und \underset{}{} setzte Formelbestandteile über- oder untereinander % \underbrace{a+b}_\text{Schritt 1} % \overbrace{e^2 - \pi}^\text{Schritt 2} \numberwithin{equation}{section} % Manuelle Nummerierung, z. B. 1.2 a %\begin{equation*} \tag{} \end{equation*} %\allowdisplaybreaks % global und lokal Anwendbar, z. B. bei underful vboxes %\usepackage{fourier} \usepackage{mathtools} % linie unterhalb mit text \underbracket[1pt][0pt]{bla}_\text{blo} \newcommand\Dfrac[2]{\dfrac{\displaystyle #1}{\displaystyle #2}} \usepackage[ % kann nicht mit amssymb zusammenlaufen thinspace, thinqspace, % use of \, (thin math space) as spacing %mediumqspace, % use of \: (medium math space) as spacing %thickqspace, % use of \; (thick math space) as spacing squaren, % defines a new command \squaren that can be used instead of the SIunits command \square, to prevent errors with the defined \square command of the amssymb package. Or use amssymb to redefine \sqare Gray, % defines a new command \gray that can be used instead of the SIunits command \gray, to prevent errors with the defined \gray command of the amssymb package. Or use pstricks to redefine \gray %textstyle, ]{SIunits} \newcommand{\ti}[1]{_\mathrm{#1}} % tiefstellen, Index \newcommand{\ho}[1]{^\mathrm{#1}} % hochstellen %\usepackage{mathrsfs} % use \mathscr, Ralph Smith’s Formal Script Font %\usepackage{ziffer} %Mathematische Schrifterweiterungen \usepackage{dsfont} % use \mathds{A} alternativ zu mathbb \usepackage{MnSymbol} % incompatible with the amssymb and amsfonts, automatically loads the amsmath and textcomp % Mengensymbole \newcommand{\field}[1]{\ensuremath{\mathds{#1}} } % Grundkörper in mathds \newcommand{\A}{\field{A}} % Affines A \newcommand{\C}{\field{C}} % Complexes C \newcommand{\Fp}{\ensuremath{\field{F}_{\!p}} } % Endlicher Koerper \newcommand{\Fq}{\ensuremath{\field{F}_{\!q}} } % Endlicher Koerper \newcommand{\Ga}{\ensuremath{\field{G}_{a}} } % Add Gruppenschema \newcommand{\K}{\field{K}} % Generischer Koerper \newcommand{\N}{\field{N}} % Nat Zahlen \newcommand{\Pj}{\field{P}} % Projektives P \newcommand{\R}{\field{R}} % Reelle Zahlen \newcommand{\Q}{\field{Q}} % Rationale Zahlen \newcommand{\Z}{\field{Z}} % Ganze Zahlen \newcommand{\fdg}{\;|\;} % fuer die gilt \newcommand{\Def}{\field{D}} % Definitionsbereich \newcommand{\LM}{\field{L}} % Lösungsmenge \newcommand*{\qed}{\hfill\ensuremath{\blacksquare}} \newcommand*\euler{\mathrm{e}} \newcommand{\dif}{\mathrm{d}} \newcommand*\E{\ensuremath{\mathrm{E}}} \providecommand{\norm}[1]{\lVert #1 \rVert} % ||x|| \providecommand{\abs}[1]{\lvert #1 \rvert} % |x| \providecommand{\innerProd}[2]{\langle #1, #2\rangle} % \DeclareMathOperator{\grad}{grad} % $\grad u$ = grad u %\newcommand{\corresponds}{\ensuremath{\stackrel{\wedge}{=} \hat{=} \mathop{\hat{=}} \substack{\wedge\\=} \mathrel{\widehat{=}} } \^{=} } \newcommand*\corresponds{% \mbox{\kern0em \raisebox{-.5ex}{\Large\^{}}\kern-.55em% \raisebox{-.1ex}{=}% }\ % } \newcommand*{\dt}[1]{% \overset{\mbox{\large\bfseries .}}{#1}} \newcommand*{\ddt}[1]{% \overset{\mbox{\large\bfseries .\hspace{-0.1ex}.}}{#1}} %\usepackage{accents} \newcommand{\tensor}[1]{ \ensuremath{ \mathbf{#1} } } \newcommand{\tensorI}[1]{ \ensuremath{ \uline{ \bm{#1} } } } \newcommand{\tensorII}[1]{ \ensuremath{ \uuline{ \bm{#1} } } } \newcommand{\tensorIII}[1]{ \ensuremath{ \underaccent{3}{ \underaccent{\tilde}{ \bm{#1} } } } } \newcommand{\tensorIV}[1]{ \ensuremath{ \underaccent{4}{ \underaccent{\tilde}{ \bm{#1} } } } } %needs MnSymbol \newcommand{\tensori}[1]{ \tikz[baseline, anchor=base,inner sep=0pt]{ \node{\ensuremath{\phantom{#1\vphantom{\overrightharpoon{b}}}}}; \node[overlay]{ \ensuremath{ \overrightharpoon{ \mbox{\ensuremath{#1}\vphantom{b}} } } }; } } \newcommand{\tensorii}[1]{ \tikz[baseline, anchor=base,inner sep=0pt]{ \node{\ensuremath{\phantom{#1\vphantom{\overrightharpoon{b}}}}}; \node[overlay]{ \ensuremath{ \overrightharpoon{ \mbox{\ensuremath{#1}\vphantom{b}} } } }; \node[overlay]{ \reflectbox{ \ensuremath{ \overrightharpoon{ \phantom{ \mbox{#1\vphantom{b}} } } } } }; } } \newcommand{\tensoriii}[1]{ \tikz[baseline, anchor=base,inner sep=0pt]{ \node{\ensuremath{\phantom{#1\vphantom{\overrightharpoon{b}}}}}; \node[overlay]{ \ensuremath{ \overrightarrow{ \mbox{\ensuremath{#1}\vphantom{b}} } } }; \node[overlay]{ \reflectbox{ \ensuremath{ \overrightharpoon{ \phantom{ \mbox{#1\vphantom{b}} } } } } }; } } \newcommand{\tensoriv}[1]{ \tikz[baseline, anchor=base,inner sep=0pt]{ \node{\ensuremath{\phantom{#1\vphantom{\overrightharpoon{b}}}}}; \node[overlay]{ \ensuremath{ \overrightarrow{ \mbox{\ensuremath{#1}\vphantom{b}} } } }; \node[overlay]{ \reflectbox{ \ensuremath{ \overrightarrow{ \phantom{ \mbox{#1\vphantom{b}} } } } } }; } } \usepackage{amsthm} \theoremstyle{definition} % nummeriert \newtheorem{tBsp}{Bsp} % unnummeriert \newtheorem*{tDef}{Def} \newtheorem*{tBsp*}{Bsp} \newcommand{\undertab}[1]{\clap{% \scriptsize\begin{tabular}{@{}c@{}}#1\end{tabular}}} \newcommand{\ubspace}[2]{% Correct \underbrace spacing \mathrlap{\underbrace{\phantom{#1\strut}}_{\undertab{#2}}}#1} \newcommand{\ubspacel}[2]{% Correct \underbrace spacing \mathrlap{\underbracket[0pt][0pt]{\phantom{#1\strut}}_{\text{#2}}}\underbracket[0.5pt][0pt]{#1}} \usepackage[version=3]{mhchem} % use: \ce %\usepackage{eurosym} % fuer das Eurosymbol %\DeclareUnicodeCharacter{20AC}{\euro{}} % ----------------------------------------- % Eigene Befehle % ----------------------------------------- \newcommand{\<}{\(\langle\)} % öffnende Winkelklammer "" \renewcommand{\>}{\(\rangle\)} % schliessende Winkelklammer "" \newcommand{\bsufont}{\normalfont\sffamily\upshape\bfseries} \newcommand\TikZ{Ti\textit kZ} \newcommand\PGF{\textsc{pgf}} % Technische Zeichen \newcommand{\bohrtiefe}{\scalebox{1}[0.75]{\rotatebox[origin=ct]{-90}{\hspace{0.2ex}$\mapsto$}}} % ----------------------------------------- % Zeichnungen % ----------------------------------------- \usepackage{tikz} \usepackage{pgfplots} % ,pgfmath \usepgflibrary{shapes.geometric} \usepackage{tabularx} \usetikzlibrary{ arrows, % for arrow heads calc, % for manimulation of coordinates positioning, shapes.multipart, %shadings, decorations.pathmorphing, backgrounds, % need package pgfplots pgfplotsclickable, %after pgfplots shadows, shadows.blur, } % based on soul % \highlight[tikz-opts]{...} like: % \highlight{} % \highlight[red]{} % \highlight[green, draw=blue]{} \makeatletter \newcommand{\defhighlighter}[3][]{% \tikzset{every highlighter/.style={color=#2, fill opacity=#3, #1}}% } \defhighlighter{yellow}{.5} \newcommand{\highlight@DoHighlight}{ \fill [ decoration = {random steps, amplitude=1pt, segment length=15pt} , outer sep = -15pt, inner sep = 0pt, decorate , every highlighter, this highlighter ] ($(begin highlight)+(0,8pt)$) rectangle ($(end highlight)+(0,-3pt)$) ; } \newcommand{\highlight@BeginHighlight}{ \coordinate (begin highlight) at (0,0) ; } \newcommand{\highlight@EndHighlight}{ \coordinate (end highlight) at (0,0) ; } \newdimen\highlight@previous \newdimen\highlight@current \DeclareRobustCommand*\highlight[1][]{% \tikzset{this highlighter/.style={#1}}% \SOUL@setup % \def\SOUL@preamble{% \begin{tikzpicture}[overlay, remember picture] \highlight@BeginHighlight \highlight@EndHighlight \end{tikzpicture}% }% % \def\SOUL@postamble{% \begin{tikzpicture}[overlay, remember picture] \highlight@EndHighlight \highlight@DoHighlight \end{tikzpicture}% }% % \def\SOUL@everyhyphen{% \discretionary{% \SOUL@setkern\SOUL@hyphkern \SOUL@sethyphenchar \tikz[overlay, remember picture] \highlight@EndHighlight ;% }{% }{% \SOUL@setkern\SOUL@charkern }% }% % \def\SOUL@everyexhyphen##1{% \SOUL@setkern\SOUL@hyphkern \hbox{##1}% \discretionary{% \tikz[overlay, remember picture] \highlight@EndHighlight ;% }{% }{% \SOUL@setkern\SOUL@charkern }% }% % \def\SOUL@everysyllable{% \begin{tikzpicture}[overlay, remember picture] \path let \p0 = (begin highlight), \p1 = (0,0) in \pgfextra \global\highlight@previous=\y0 \global\highlight@current =\y1 \endpgfextra (0,0) ; \ifdim\highlight@current < \highlight@previous \highlight@DoHighlight \highlight@BeginHighlight \fi \end{tikzpicture}% \the\SOUL@syllable \tikz[overlay, remember picture] \highlight@EndHighlight ;% }% \SOUL@ } \makeatother \pgfplotsset{ compat=1.7, % or newest, % Komma statt Punkt als Dezimaltrennzeichen x tick label style={/pgf/number format/use comma}, y tick label style={/pgf/number format/use comma}, every node near coord/.style={/pgf/number format/use comma}, /pgfplots/annot/js fillColor={["RGB",1,1,1]}, every semilogy axis/.append style={/pgfplots/annot/point format={(\%.1f,\%.1e)}}, every semilogx axis/.append style={/pgfplots/annot/point format={(\%.1e,\%.1f)}}, every loglog axis/.append style={/pgfplots/annot/point format={(\%.1e,\%.1e)}} } \usepackage{pgfplotstable} \colorlet{darkgreen}{green!50!black} \colorlet{lightgreen}{green!80!black} \colorlet{darkred}{red!50!black} \colorlet{lightred}{red!80!black} % this must be under the configuration of x tick label % legend position outer south \makeatletter \pgfplotsset{ every axis x label/.append style={ alias=current axis xlabel }, legend pos/outer south/.style={ /pgfplots/legend style={ at={% (% \@ifundefined{pgf@sh@ns@current axis xlabel}% {xticklabel cs:0.5}% {current axis xlabel.south}% )% }, anchor=north } } } \makeatother % !!!! in tikzset sind keine Leerzeilen erlaubt !!!! \tikzset{ %Define standard arrow tip >=stealth', %Define standard node %every text node part/.style={align=left}, % Colors } % Funktionsstruktur \tikzset{ %Define style for boxes punkt/.style={ rectangle, %rounded corners, draw=black, %very thick, left color=navyblue!0, % gray right color=navyblue!30, text width=6em, minimum height=4em, text centered}, dummyPunkt/.style={ rectangle, text width=6em, minimum height=4em}, dummy/.style={ rectangle, text width=0.1em, minimum height=4em}, % %Define style for node aboveOf/.style={ above=0.75cm of #1}, belowOf/.style={ below=0.75cm of #1}, ni/.style={ % node input above right, xshift=2mm}, no/.style={ % node output above left, xshift=-2mm}, % % Define arrow style trans/.style={ ->, thick, shorten >=0pt, shorten <=0pt, >=stealth}, classical/.style={ ->, thick, % semithick double distance=1pt, shorten >=0pt, shorten <=0pt, >=stealth}, virtual/.style={ ->, thick, densely dashed, >=stealth}, } % Linien \tikzset{ line1/.style={ line width = 3, line cap=round, NavyBlue}, line2/.style={ line width = 3, line cap=round, loosely dashed, red}, axis/.style={thick, ->, >=stealth'}, graph1/.style={ thick, line cap=round, NavyBlue}, } % Graphen \tikzset{ draw0/.style={ gray}, draw1/.style={ very thick, NavyBlue}, draw2/.style={ very thick, red}, draw3/.style={ very thick, dkgreen}, draw4/.style={ very thick, orange}, draw10/.style={ very thick, black}, fill0/.style={ fill=gray!100, draw=none, very nearly transparent}, fill1/.style={ fill=MidnightBlue!20, draw=none}, fill2/.style={ fill=red!20, draw=none}, } \tikzset{ every pin/.style={fill=white,rectangle,rounded corners=3pt,font=\small}, small dot/.style={fill=black,circle,scale=0.3}, } \newcommand{\FB}[7]{% \begin{tikzpicture}[auto, node distance=2cm,>=latex'] \setstretch{0.8} \begin{scope}[xscale=1, yscale=1, xshift=7.8cm]\small \ifthenelse{\isempty{#2}}% {}% if #2 is empty {\draw[trans] (0,0.85) node[above right,yshift=-1mm,text width=2.5cm] {#2\(_{}\)} --(2.5,0.85) ;}% if #2 is not empty \ifthenelse{\isempty{#4}} {} {\draw[classical] (0,0) node[above right,yshift=-1mm,text width=2.5cm] {#4\(_{}\)}--(2.5,0);} \ifthenelse{\isempty{#6}} {} {\draw[virtual] (0,-0.85) node[above right,yshift=-1mm,text width=2.5cm] {#6\(_{}\)}--(2.5,-0.85);} \ifthenelse{\isempty{#3}} {} {\draw[trans] (6.25,0.85) node[above right,xshift=1mm,yshift=-1mm,text width=2.5cm] {#3\(_{}\)}--(8.75,0.85);} \ifthenelse{\isempty{#5}} {} {\draw[classical] (6.25,0) node[above right,xshift=1mm,yshift=-1mm,text width=2.5cm] {#5\(_{}\)}--(8.75,0);} \ifthenelse{\isempty{#7}} {} {\draw[virtual] (6.25,-0.85)node[above right,xshift=1mm,yshift=-1mm,text width=2.5cm] {#7\(_{}\)}--(8.75,-0.85) ;} \ifthenelse{\isempty{#1}} {} {\node[draw=black,left color=navyblue!0,right color=navyblue!30,text width=3.5cm,minimum height=2.5cm,text centered,right=2.5cm] (f){\normalsize#1};} % gray!30 \end{scope} \end{tikzpicture} } %% % x axis and y axis in first quadrant % x 0...1, 1 = 100% % y 0...1, 1 = 100% % \tikzAxesQ1{x}{y}{labelX}{labelY} \newcommand{\tikzAxesQi}[4]{ \draw[axis] (-0.1,0) -- ($(#1+.1,0)$) node(xline)[right] {$#3$}; \draw[axis] (0,-0.1) -- ($(0,#2+.1)$) node(yline)[above] {$#4$}; } %% % at given position 'x,y' an x marker with a label 'text' in math mode % \tikzMarkerX{x,y}{text} \newcommand{\tikzMarkerX}[2]{ \draw($(#1)-(0,.025)$)node[below]{$#2$\vphantom{b}} -- ($(#1)+(0,.025)$); } %% % multiple x markers with labels % \tikzMarkersX{coordinate1/text1,coordinate2/text2,...} \newcommand{\tikzMarkersX}[1]{ \foreach \pos/\text in {#1} { \tikzMarkerX{\pos}{\text} } } %% % at given position 'x,y' an y marker with a label 'text' in math mode % \tikzMarkerY{x,y}{text} \newcommand{\tikzMarkerY}[2]{ \draw($(#1)-(.025,0)$)node[left]{$#2$\vphantom{b}} -- ($(#1)+(.025,0)$); } %% % multiple y markers with labels % \tikzMarkersY{coordinate1/text1,coordinate2/text2,...} \newcommand{\tikzMarkersY}[1]{ \foreach \pos/\text in {#1} { \tikzMarkerX{\pos}{\text} } } %% % point marker at given position % \tikzPoint{x,y} \newcommand{\tikzPoint}[1]{ \fill[red] (#1) circle (.4pt); } %% % point markers at given positions % \tikzPoint{coordinate1,coordinate2,...} \newcommand{\tikzPoints}[1]{ \foreach \pos in {#1} { \tikzPoint{\pos} } } \def\tikzoverlay{% \tikz[baseline,overlay]\node[every overlay node] }% % usage: %\tikzoverlay[text width=6cm] at (9.3cm,5cm) {... content ...} \usepackage{afterpage} \makeatletter \def\mynobreakpar{\par\nobreak\@afterheading} \def\mynobreakline{\par\nobreak\vspace{-\parskip}\@afterheading\noindent} \makeatother