160 lines
6.5 KiB
TeX
160 lines
6.5 KiB
TeX
\let\tikz@lib@nf@textheight\relax
|
|
\let\tikz@lib@nf@textdepth\relax
|
|
\let\tikz@lib@nf@textwidth\relax
|
|
\tikzset{
|
|
Minimum Width/.code={%
|
|
\pgfutil@ifundefined{\pgfpictureid @#1@width}{}{%
|
|
\tikzset{/tikz/minimum width/.expand twice=+\csname\pgfpictureid @#1@width\endcsname}%
|
|
}%
|
|
\tikz@addmode{\pgfmathsetlengthmacro\tikz@lib@nf@outerxsep{\pgfkeysvalueof{/pgf/outer xsep}}\global\let\tikz@lib@nf@outerxsep\tikz@lib@nf@outerxsep}%
|
|
\tikzset{
|
|
prefix after command={%
|
|
\pgfextra
|
|
\pgfinterruptpath
|
|
\pgfsettransform{\csname pgf@sh@nt@\tikzlastnode\endcsname}%
|
|
\pgfpointanchor{\tikzlastnode}{east}%
|
|
\pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpointanchor{\tikzlastnode}{west}%
|
|
\advance\pgf@xa-\pgf@x
|
|
\advance\pgf@ya-\pgf@y
|
|
\pgfmathveclen@{\pgf@sys@tonumber\pgf@xa}{\pgf@sys@tonumber\pgf@ya}%
|
|
\pgf@x\pgfmathresult pt\relax
|
|
\advance\pgf@x-\tikz@lib@nf@outerxsep
|
|
\advance\pgf@x-\tikz@lib@nf@outerxsep
|
|
\pgfutil@ifundefined{\pgfpictureid @#1@width}{%
|
|
\expandafter\xdef\csname\pgfpictureid @#1@width\endcsname{\the\pgf@x}%
|
|
}{%
|
|
\expandafter\ifdim\csname\pgfpictureid @#1@width\endcsname<\pgf@x
|
|
\expandafter\xdef\csname\pgfpictureid @#1@width\endcsname{\the\pgf@x}%
|
|
\fi
|
|
}%
|
|
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter
|
|
\tikz@atend@picture\expandafter\expandafter\expandafter{\expandafter\tikz@atend@picture\expandafter\tikz@lib@nf@save\expandafter{\pgfpictureid}{#1}{width}{width}}
|
|
\endpgfinterruptpath
|
|
\endpgfextra
|
|
}%
|
|
}%
|
|
},
|
|
Minimum Height/.code={%
|
|
\pgfutil@ifundefined{\pgfpictureid @#1@height}{}{%
|
|
\tikzset{/tikz/minimum height/.expand twice=+\csname\pgfpictureid @#1@height\endcsname}%
|
|
}%
|
|
\tikz@addmode{\pgfmathsetlengthmacro\tikz@lib@nf@outerysep{\pgfkeysvalueof{/pgf/outer ysep}}\global\let\tikz@lib@nf@outerysep\tikz@lib@nf@outerysep}%
|
|
\tikzset{
|
|
prefix after command={%
|
|
\pgfextra
|
|
\pgfinterruptpath
|
|
\pgfsettransform{\csname pgf@sh@nt@\tikzlastnode\endcsname}%
|
|
\pgfpointanchor{\tikzlastnode}{north}%
|
|
\pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpointanchor{\tikzlastnode}{south}%
|
|
\advance\pgf@xa-\pgf@x
|
|
\advance\pgf@ya-\pgf@y
|
|
\pgfmathveclen@{\pgf@sys@tonumber\pgf@xa}{\pgf@sys@tonumber\pgf@ya}%
|
|
\pgf@x\pgfmathresult pt\relax
|
|
\advance\pgf@x-\tikz@lib@nf@outerysep
|
|
\advance\pgf@x-\tikz@lib@nf@outerysep
|
|
\pgfutil@ifundefined{\pgfpictureid @#1@height}{%
|
|
\expandafter\xdef\csname\pgfpictureid @#1@height\endcsname{\the\pgf@x}%
|
|
}{%
|
|
\expandafter\ifdim\csname\pgfpictureid @#1@height\endcsname<\pgf@x
|
|
\expandafter\xdef\csname\pgfpictureid @#1@height\endcsname{\the\pgf@x}%
|
|
\fi
|
|
}%
|
|
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter
|
|
\tikz@atend@picture\expandafter\expandafter\expandafter{\expandafter\tikz@atend@picture\expandafter\tikz@lib@nf@save\expandafter{\pgfpictureid}{#1}{height}{height}}
|
|
\endpgfinterruptpath
|
|
\endpgfextra
|
|
}%
|
|
}%
|
|
},
|
|
Minimum Size/.style={
|
|
Minimum Height={#1},
|
|
Minimum Width={#1}},
|
|
Text Height/.code=\edef\tikz@lib@nf@textheight{#1},
|
|
Text Depth/.code= \edef\tikz@lib@nf@textdepth{#1},
|
|
Text Width/.code=%
|
|
\edef\tikz@lib@nf@textwidth{#1}%
|
|
\pgfutil@ifundefined{\pgfpictureid @#1@textwidth}{}{%
|
|
\tikzset{text width/.expand twice=+\csname\pgfpictureid @#1@textwidth\endcsname}%
|
|
}%
|
|
}
|
|
|
|
\def\tikz@lib@nf@text@#1#2#3{%
|
|
\expandafter\ifx\csname tikz@lib@nf@#3\endcsname\relax\else
|
|
\ifx#1\wd\def\tikz@temp{@}\else\let\tikz@temp\pgfutil@empty\fi
|
|
\expandafter\ifx\csname tikz@lib@nf@#3\tikz@temp\endcsname\pgfutil@empty\else
|
|
\pgfutil@ifundefined{\pgfpictureid @\csname tikz@lib@nf@#3\endcsname @#3\tikz@temp}{%
|
|
\expandafter\xdef\csname\pgfpictureid @\csname tikz@lib@nf@#3\endcsname @#3\tikz@temp\endcsname{\the#1#2}%
|
|
}{%
|
|
\ifdim\csname\pgfpictureid @\csname tikz@lib@nf@#3\endcsname @#3\tikz@temp\endcsname<#1#2
|
|
\expandafter\xdef\csname\pgfpictureid @\csname tikz@lib@nf@#3\endcsname @#3\tikz@temp\endcsname{\the#1#2}%
|
|
\else
|
|
\ifx#1\wd\else
|
|
#1#2=\csname\pgfpictureid @\csname tikz@lib@nf@#3\endcsname @#3\endcsname\relax
|
|
\fi
|
|
\fi
|
|
}%
|
|
\edef\tikz@temp{\noexpand\tikz@lib@nf@save{\pgfpictureid}{\csname tikz@lib@nf@#3\endcsname}{#3}{#3\tikz@temp}}%
|
|
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter
|
|
\tikz@atend@picture\expandafter\expandafter\expandafter{\expandafter\tikz@atend@picture\tikz@temp}%
|
|
\fi
|
|
\fi
|
|
}
|
|
%%% Redefinition
|
|
\def\tikz@fig@continue{%
|
|
\ifx\tikz@text@width\pgfutil@empty%
|
|
\else%
|
|
\pgfmathsetlength{\pgf@x}{\tikz@text@width}%
|
|
\wd\pgfnodeparttextbox=\pgf@x%
|
|
\fi%
|
|
\ifx\tikz@text@height\pgfutil@empty%
|
|
\else%
|
|
\pgfmathsetlength{\pgf@x}{\tikz@text@height}%
|
|
\ht\pgfnodeparttextbox=\pgf@x%
|
|
\fi%
|
|
\ifx\tikz@text@depth\pgfutil@empty%
|
|
\else%
|
|
\pgfmathsetlength{\pgf@x}{\tikz@text@depth}%
|
|
\dp\pgfnodeparttextbox=\pgf@x%
|
|
\fi%
|
|
%
|
|
%
|
|
%
|
|
\tikz@lib@nf@text@\ht\pgfnodeparttextbox{textheight}%
|
|
\tikz@lib@nf@text@\dp\pgfnodeparttextbox{textdepth}%
|
|
\tikz@lib@nf@text@\wd\pgfnodeparttextbox{textwidth}%
|
|
%
|
|
% Node transformation
|
|
%
|
|
\tikz@node@transformations
|
|
%
|
|
\setbox\tikz@figbox=\hbox{%
|
|
\setbox\pgfutil@tempboxa=\copy\tikz@figbox%
|
|
\unhbox\pgfutil@tempboxa%
|
|
\hbox{{%
|
|
\pgfinterruptpath%
|
|
\pgfscope%
|
|
\tikz@options%
|
|
\setbox\tikz@figbox=\box\pgfutil@voidb@x%
|
|
\pgfmultipartnode{\tikz@shape}{\tikz@anchor}{\tikz@fig@name}{%
|
|
\pgfutil@tempdima=\pgflinewidth%
|
|
{\begingroup\tikz@finish}%
|
|
\global\pgflinewidth=\pgfutil@tempdima%
|
|
}%
|
|
\endpgfscope
|
|
\endpgfinterruptpath%
|
|
}}%
|
|
}%
|
|
%
|
|
\tikz@alias%
|
|
\tikz@node@finish%
|
|
}
|
|
\def\tikz@lib@nf@save#1#2#3#4{%
|
|
\pgfutil@ifundefined{#1@#2@#3@done}{%
|
|
\expandafter\let\csname#1@#2@#3@done\endcsname\pgfutil@empty%
|
|
\immediate\write\pgfutil@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname#1@#2@#3\endcsname{\csname#1@#2@#4\endcsname}}
|
|
}{}%
|
|
}
|
|
\endinput
|