% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Free Documentation License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.


\section{Plot Mark Library}

\begin{pgflibrary}{plotmarks}
     This library defines a number of plot marks.
\end{pgflibrary}

This library defines the following plot marks in addition to |*|, |x|, and |+|
(the filling color has been set to a dark yellow):

{
\catcode`\|=12
\medskip
\begin{tabular}{lc}
    \plotmarkentry{-}
    \index{*vbar@\protect\texttt{\protect\myvbar} plot mark}%
    \index{Plot marks!*vbar@\protect\texttt{\protect\myvbar}}
    %
    \texttt{\char`\\pgfuseplotmark\char`\{\declare{|}\char`\}} &
        \tikz\draw [color=black!25] plot [
            mark=|,mark options={fill=yellow,draw=black}
        ] coordinates {(0,0) (.5,0.2) (1,0) (1.5,0.2)};\\
    \plotmarkentry{o}
    \plotmarkentry{asterisk}
    \plotmarkentry{star}
    \plotmarkentry{10-pointed star}
    \plotmarkentry{oplus}
    \plotmarkentry{oplus*}
    \plotmarkentry{otimes}
    \plotmarkentry{otimes*}
    \plotmarkentry{square}
    \plotmarkentry{square*}
    \plotmarkentry{triangle}
    \plotmarkentry{triangle*}
    \plotmarkentry{diamond}
    \plotmarkentry{diamond*}
    \plotmarkentry{halfdiamond*}
    \plotmarkentry{halfsquare*}
    \plotmarkentry{halfsquare right*}
    \plotmarkentry{halfsquare left*}
    \plotmarkentry{pentagon}
    \plotmarkentry{pentagon*}
    \plotmarkentry{Mercedes star}
    \plotmarkentry{Mercedes star flipped}
    \plotmarkentry{halfcircle}
    \plotmarkentry{halfcircle*}
    \plotmarkentry{heart}
    \plotmarkentry{text}
\end{tabular}
}

Note that each of the provided marks can be rotated freely by means of
|mark options={rotate=90}| or |every mark/.append style={rotate=90}|.

\begin{key}{/pgf/mark color=\marg{color} (initially empty)}
    Defines the additional fill color for the |halfcircle|, |halfcircle*|,
    |halfdiamond*| and |halfsquare*| markers. An empty value uses |white|
    (which is the initial configuration). The special value |none| disables
    filling of the respective parts.

    Note that |halfsquare| will be filled with |mark color|, and the starred
    variant |halfsquare*| will be filled half with |mark color| and half with
    the actual |fill| color.
\end{key}


{
\def\showit#1{%
  \tikz\draw[color=black!25] plot[#1,mark options={fill=examplefill,draw=black}] coordinates{(0,0) (.5,0.2) (1,0) (1.5,0.2)};}%

\begin{key}{/pgf/text mark=\marg{text} (initially p)}
    Changes the text shown by |mark=text|.

    With |/pgf/text mark=m|: \pgfkeys{/pgf/text mark=m}\showit{mark=text}

    With |/pgf/text mark=A|: \pgfkeys{/pgf/text mark=A}\showit{mark=text}

    There is no limitation about the number of characters or whatever. In fact,
    any \TeX\ material can be inserted as \marg{text}, including images.
\end{key}

\begin{key}{/pgf/text mark as node=\marg{boolean} (initially false)}
    Configures how |mark=text| will be drawn: either as |\node| or as |\pgftext|.

    The first choice is highly flexible and possibly slow, the second is very
    fast and usually enough.
\end{key}

\begin{key}{/pgf/text mark style=\marg{options for \texttt{mark=text}}}
    Defines a set of options which control the appearance of |mark=text|.

    If |/pgf/text mark as node=false| (the default), \marg{options} is provided
    as argument to |\pgftext| -- which provides only some basic keys like
    |left|, |right|, |top|, |bottom|, |base| and |rotate|.

    If |/pgf/text mark as node=true|, \marg{options} is provided as argument to
    |\node|. This means you can provide a very powerful set of options
    including |anchor|, |scale|, |fill|, |draw|, |rounded corners| etc.
\end{key}

}


%%% Local Variables:
%%% mode: latex
%%% TeX-master: "pgfmanual-pdftex-version"
%%% End:
