diff options
Diffstat (limited to 'macros/latex/contrib/pdfmarginpar/doc/pgfplots-macros.tex')
-rw-r--r-- | macros/latex/contrib/pdfmarginpar/doc/pgfplots-macros.tex | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/macros/latex/contrib/pdfmarginpar/doc/pgfplots-macros.tex b/macros/latex/contrib/pdfmarginpar/doc/pgfplots-macros.tex new file mode 100644 index 0000000000..fbb96fa537 --- /dev/null +++ b/macros/latex/contrib/pdfmarginpar/doc/pgfplots-macros.tex @@ -0,0 +1,390 @@ + +\def\eps{\textsc{eps}} + +\input pgfmanual-en-macros.tex + +\def\pgfmanualbar{\char`\|} +\makeatletter +\newenvironment{addplotoperation}[3][]{ + \begin{pgfmanualentry} + {% + \let\ltxdoc@marg=\marg + \let\ltxdoc@oarg=\oarg + \let\ltxdoc@parg=\parg + \let\ltxdoc@meta=\meta + \def\marg##1{{\normalfont\ltxdoc@marg{##1}}}% + \def\oarg##1{{\normalfont\ltxdoc@oarg{##1}}}% + \def\parg##1{{\normalfont\ltxdoc@parg{##1}}}% + \def\meta##1{{\normalfont\ltxdoc@meta{##1}}}% + \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot\ }}% + \declare{\texttt{#2}} \texttt{#3;}}% + \unskip + \nobreak + \pgfmanualentryheadline{\textcolor{gray}{{\texttt{\char`\\addplot}\oarg{style options} \texttt{plot}\oarg{behavior options}}\ }% + \declare{\texttt{#2}} \texttt{#3} \textcolor{gray}{\meta{trailing path commands}}\texttt{;}}% + \def\pgfmanualtest{#1}% + \ifx\pgfmanualtest\@empty% + \index{#2@\protect\textcolor{gray}{\protect\texttt{plot}}\protect\texttt{ #2}}% + \index{Plot operations!plot #2@\protect\texttt{plot #2}}% + \fi% + }% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + +\newenvironment{codekey}[1]{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\declare{#1}\textcolor{gray}{/.code}=\marg{...}}\hfill}% + \def\mykey{#1}% + \def\mypath{}% + \def\myname{}% + \firsttimetrue% + \decompose#1/\nil% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + +\newenvironment{pgfplotscodekey}[1]{% + \begin{codekey}{/pgfplots/#1}% +} +{ + \end{codekey} +} +\newenvironment{pgfplotscodetwokey}[1]{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\declare{/pgfplots/#1}\textcolor{gray}{/.code 2 args}=\marg{...}}\hfill}% + \def\mykey{/pgfplots/#1}% + \def\mypath{}% + \def\myname{}% + \firsttimetrue% + \decompose/pgfplots/#1/\nil% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + +\newenvironment{pgfplotsxycodekeylist}[1]{% + \begingroup + \let\oldpgfmanualentryheadline=\pgfmanualentryheadline + \def\pgfmanualentryheadline##1{% + \pgfmanualentryheadline@##1\pgfplots@EOI + }% + \def\pgfmanualentryheadline@##1\hfill##2\pgfplots@EOI{% + \oldpgfmanualentryheadline{{\ttfamily\declare{##1}\textcolor{gray}{/.code}=\marg{...}}\hfill}% + } + \begin{pgfplotsxykeylist}{#1}% +} +{ + \end{pgfplotsxykeylist} + \endgroup +} + +\newenvironment{pgfplotskey}[1]{% + \begin{key}{/pgfplots/#1}% +} +{ + \end{key} +} + +\def\choicesep{$\vert$}% +\def\choicearg#1{\texttt{#1}} + +\newif\iffirstchoice +\newcommand\mchoice[1]{% + \begingroup + \firstchoicetrue + \foreach \mchoice@ in {#1} {% + \iffirstchoice + \global\firstchoicefalse + \else + \choicesep + \fi + \choicearg{\mchoice@}% + }% + \endgroup +}% + +% \begin{xykey}{/path/\x label=value} +% \end{xykey} +% +% has same features with 'default', 'initially' etc as key environment +\newenvironment{xykey}[2][]{% + \begin{pgfmanualentry} + \def\extrakeytext{} + \insertpathifneeded{#2}{#1}% + \expandafter\pgfutil@in@\expandafter=\expandafter{\mykey}% + \ifpgfutil@in@% + \expandafter\xykey@eq\mykey\@nil + \else + \expandafter\xykey@noeq\mykey\@nil + \fi + \pgfmanualbody +}{% + \end{pgfmanualentry} +}% + +% \begin{xystylekey}{/path/\x label=value} +% \end{xystylekey} +% +% has same features with 'default', 'initially' etc as key environment +\newenvironment{xystylekey}[2][]{% + \begin{pgfmanualentry} + \def\extrakeytext{style, } + \insertpathifneeded{#2}{#1}% + \expandafter\pgfutil@in@\expandafter=\expandafter{\mykey}% + \ifpgfutil@in@% + \expandafter\xykey@eq\mykey\@nil + \else + \expandafter\xykey@noeq\mykey\@nil + \fi + \pgfmanualbody +}{% + \end{pgfmanualentry} +}% + +% \insertpathifneeded{a key}{/pgfplots} -> assign mykey={/pgfplots/a key} +% \insertpathifneeded{/tikz/a key}{/pgfplots} -> assign mykey={/tikz/a key} +% +% #1: the key +% #2: a default path (or empty) +\def\insertpathifneeded#1#2{% + \def\insertpathifneeded@@{#2}% + \ifx\insertpathifneeded@@\empty + \def\mykey{#1}% + \else + \insertpathifneeded@#2\@nil + \ifpgfutil@in@ + \def\mykey{#2/#1}% + \else + \def\mykey{#1}% + \fi + \fi +}% +\def\insertpathifneeded@#1#2\@nil{% + \def\insertpathifneeded@@{#1}% + \def\insertpathifneeded@@@{/}% + \ifx\insertpathifneeded@@\insertpathifneeded@@@ + \pgfutil@in@true + \else + \pgfutil@in@false + \fi +}% + +% \begin{keylist}[default path] +% {/path/option 1=value,/path/option 2=value2} +% \end{keylist} +\newenvironment{keylist}[2][]{% + \begin{pgfmanualentry} + \def\extrakeytext{}% + \foreach \xx in {#2} {% + \expandafter\insertpathifneeded\expandafter{\xx}{#1}% + \expandafter\extractkey\mykey\@nil% + }% + \pgfmanualbody +}{% + \end{pgfmanualentry} +}% + +\newenvironment{pgfplotskeylist}[1]{% + \begin{keylist}[/pgfplots]{#1}% +}{% + \end{keylist}% +} + +% \begin{xykeylist}[default path] +% {/path/option \x1=value,/path/option \x2=value2,/path/option \x3=value} +% \end{xykeylist} +\newenvironment{xykeylist}[2][]{% + \begin{pgfmanualentry} + \def\extrakeytext{} + \foreach \xx in {#2} {% + \expandafter\insertpathifneeded\expandafter{\xx}{#1}% + \expandafter\pgfutil@in@\expandafter=\expandafter{\mykey}% + \ifpgfutil@in@% + \expandafter\xykey@eq\mykey\@nil + \else + \expandafter\xykey@noeq\mykey\@nil + \fi + }% + \pgfmanualbody +}{% + \end{pgfmanualentry} +}% + +\newif\ifxykeyfound + +\def\xykey@eq#1=#2\@nil{% + \def\x{x}% + \xdef\mykey{#1}% + \def\xykey@@{#1}% + \ifx\xykey@@\mykey + \xykeyfoundfalse + \else + \xykeyfoundtrue + \fi + \expandafter\extractkey\mykey=#2\@nil% + \ifxykeyfound + \def\x{y}% + \xdef\mykey{#1}% + \expandafter\extractkey\mykey=#2\@nil% + \fi +} +\def\xykey@noeq#1\@nil{% + \def\x{x}% + \xdef\mykey{#1}% + \def\xykey@@{#1}% + \ifx\xykey@@\mykey + \xykeyfoundfalse + \else + \xykeyfoundtrue + \fi + \expandafter\extractkey\mykey\@nil% + \ifxykeyfound + \def\x{y}% + \xdef\mykey{#1}% + \expandafter\extractkey\mykey\@nil% + \fi +} + +% \begin{pgfplotsxykey}{\x label=value} +% \end{pgfplotsxykey} +% +% It introduces the path /pgfplots/ automatically. +% +% has same features with 'default', 'initially' etc as key environment +\newenvironment{pgfplotsxykey}[1]{% + \begin{xykey}[/pgfplots]{#1}% +}{% + \end{xykey}% +} + + +\newenvironment{pgfplotsxykeylist}[1]{% + \begin{xykeylist}[/pgfplots]{#1}% +}{% + \end{xykeylist}% +} + + +\newenvironment{plottype}[1]{% + \begin{key}{/tikz/#1}% + \end{key} + \begin{pgfmanualentry} + \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot+[\declare{#1}]}}}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + +\def\index@prologue{\section*{Index}\addcontentsline{toc}{section}{Index} +} + +\newenvironment{pgfplotstablecolumnkey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{columns/\meta{column name}}\textcolor{gray}{/.style}=\marg{key-value-list}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/columns}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} +\newenvironment{pgfplotstabledisplaycolumnkey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{display columns/\meta{index}}\textcolor{gray}{/.style}=\marg{key-value-list}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/display columns}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} +\newenvironment{pgfplotstablealiaskey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{alias/\meta{col name}}\textcolor{gray}{/.initial}=\marg{real col name}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/alias}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + + +\def\pgfplotsmanualkeyindex#1{% + \def\mypath{#1}% + \def\myname{}% + \firsttimetrue% + \decompose#1/\nil% +} +\newenvironment{pgfplotstablecreateonusekey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{create on use/\meta{col name}}\textcolor{gray}{/.style}=\marg{create options}}\hfill}% + \def\mykey{/pgfplots/table/create on use}% + \pgfmanualbody + \pgfplotsmanualkeyindex{/pgfplots/table/create on use}% +} +{ + \end{pgfmanualentry} +} + +\def\pgfplotsassertcmdkeyexists#1{% + \pgfkeysifdefined{/pgfplots/#1/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }% +}% + +{ +\catcode`\ =12% +\gdef\makespaceexpandable{\def\ { }}}% + +\def\pgfplotsassertXYcmdkeyexists#1{% + {\makespaceexpandable\def\x{x}\edef\pgfplotsassertXYcmdkeyexists@tmp{#1}% + \pgfkeysifdefined{/pgfplots/\pgfplotsassertXYcmdkeyexists@tmp/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }}% + {\makespaceexpandable\def\x{y}\edef\pgfplotsassertXYcmdkeyexists@tmp{#1}% + \pgfkeysifdefined{/pgfplots/\pgfplotsassertXYcmdkeyexists@tmp/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }}% +}% + +\def\pgfplotsshortstylekey #1=#2;{% + \pgfplotsassertcmdkeyexists{#1}% + \pgfplotsassertcmdkeyexists{#2}% + \begin{pgfplotskey}{#1=\marg{key-value-list}} + An abbreviation for \texttt{#2/.append style=}\marg{key-value-list}. + \end{pgfplotskey} +} +\def\pgfplotsshortxystylekey #1=#2;{% + \pgfplotsassertXYcmdkeyexists{#1}% + \pgfplotsassertXYcmdkeyexists{#2}% + \begin{pgfplotsxykey}{#1=\marg{key-value-list}} + An abbreviation for {\def\x{x}\texttt{#2/.append style=}}\marg{key-value-list} (or the respective style for $y$, {\def\x{y}\texttt{#2}}). + \end{pgfplotsxykey} +} +\def\pgfplotsshortstylekeys #1,#2=#3;{% + \pgfplotsassertcmdkeyexists{#1}% + \pgfplotsassertcmdkeyexists{#2}% + \pgfplotsassertcmdkeyexists{#3}% + \begin{pgfplotskeylist}{% + #1=\marg{key-value-list}, + #2=\marg{key-value-list}} + Different abbreviations for \texttt{#3/.append style=}\marg{key-value-list}. + \end{pgfplotskeylist} +} +\def\pgfplotsshortxystylekeys #1,#2=#3;{% + \pgfplotsassertXYcmdkeyexists{#1}% + \pgfplotsassertXYcmdkeyexists{#2}% + \pgfplotsassertXYcmdkeyexists{#3}% + \begin{pgfplotsxykeylist}{% + #1=\marg{key-value-list}, + #2=\marg{key-value-list}} + Different abbreviations for {\def\x{x}\texttt{#3/.append style=}}\marg{key-value-list} (or the respective style for $y$, {\def\x{y}\texttt{#3}}). + \end{pgfplotsxykeylist} +} + +\makeatother |