summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex')
-rw-r--r--Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex251
1 files changed, 251 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex
new file mode 100644
index 00000000000..5c0e4fa1215
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex
@@ -0,0 +1,251 @@
+
+\input pgfmanual-en-macros.tex
+
+\def\pgfmanualbar{\char`\|}
+\makeatletter
+\newenvironment{addplotoperation}[3][]{
+ \begin{pgfmanualentry}
+ \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot\ }}%
+ \declare{\texttt{#2}} \texttt{#3;}}%
+ \unskip
+ \nobreak
+ \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot[\meta{style options}] {\small plot[\meta{behavior options}]}}\ }%
+ \declare{\texttt{#2}} \texttt{#3}\ \textcolor{gray}{\meta{trailing path commands}\texttt{;}}}%
+ \def\pgfmanualtest{#1}%
+ \ifx\pgfmanualtest\@empty%
+ \index{#2@\protect\texttt{#2} path operation}%
+ \index{Path operations!#2@\protect\texttt{#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{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}
+}%
+
+% \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}%
+ \pgfmanualbody
+}
+{
+ \end{pgfmanualentry}
+}
+\makeatother
+
+