diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-15 20:36:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-15 20:36:08 +0000 |
commit | 544b3afa0b563118bfa9a64d8ab468ee47c1fbd2 (patch) | |
tree | 5daa86acec73defb207aefe148404f0131e08e45 /Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def | |
parent | bf129e8b52e880fb8fdf9d68afd6995df3f225ed (diff) |
pgf (15may21)
git-svn-id: svn://tug.org/texlive/trunk@59210 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def | 83 |
1 files changed, 50 insertions, 33 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def index 2853147a8d1..4235c75d64f 100644 --- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def +++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def @@ -15,51 +15,68 @@ % % Load common pdf commands: % - %\input pgfsys-dvisvgm.def + +% we load the dvips driver by default. it doesn't support patterns and some other stuff, +% but it handles better nested images and some formatting. if you use patterns or if you +% have other issues with the default method, pass the "tikz-dvisvgm" option to make4ht. +\ifdefined\ifOption +\ifOption{tikz+}{\input pgfsys-dvisvgm.def}{\input pgfsys-dvips.def} +\else +% load the dvips driver by default \input pgfsys-dvips.def +\fi + +\def\texfourht@tikz@begin{% + \bgroup% + \def\run@pict@cmd{}% insert the \Picture hooks only in the top nesting level + \def\end@pict@cmd{}% + \ifdefined\EndPicture\else% We are already inside command that uses \Picture + \ifdefined\inside@pict@cmd% handle nested uses + \else + % use different version of \Picture depending on the vertical mode + \ifvmode\def\run@pict@cmd{\Picture*}\else\def\run@pict@cmd{\Picture+}\fi% + \def\end@pict@cmd{\EndPicture}% + \fi\fi% + % command used to detect nesting + \def\inside@pict@cmd{}% + \csname a:tikzpicture\endcsname% +} +\def\texfourht@tikz@end{% + \csname b:tikzpicture\endcsname% + \egroup% +} \AtBeginDocument{ - % configure the output picture format to svg + \NewConfigure{tikzpicture}{2} + \catcode`\:=11 + \Configure{tikzpicture}{% + \protect\csname nested:math\endcsname% support display math + \run@pict@cmd{}% + }{\end@pict@cmd} + % configure the output picture format to svg, as it will require dvisvgm + % post processing. \Configure{Picture}{.svg} - % insert tex4ht hook to the code used at the start and end of each TikZ picture - \def\pgfsys@beginpicture{% - \bgroup% - \ifdefined\inside@pict@cmd% handle nested uses - \def\run@pict@cmd{}% insert the \Picture hooks only in the top nesting level - \def\end@pict@cmd{}% - \else - % use different version of \Picture depending on the vertical mode - \ifvmode\def\run@pict@cmd{\Picture*}\else\def\run@pict@cmd{\Picture+}\fi% - \def\end@pict@cmd{\EndPicture}% - \fi% - % command used to detect nesting - \def\inside@pict@cmd{}% - \csname a:tikzpicture\endcsname% - \orig@pgfsys@begin% - }% - \def\pgfsys@endpicture{% - \orig@pgfsys@end% - \csname b:tikzpicture\endcsname% - \egroup% - \par% - }% + % insert tex4ht hooks around TikZ picture box + \def\pgfsys@typesetpicturebox#1{% + \texfourht@tikz@begin% + \orig@pgfsys@typesetpicturebox{#1}% + \texfourht@tikz@end% + } + % + \ConfigureEnv{tikzpicture}{\ifvmode\Picture*{}\else\Picture+{}\fi\def\inside@pict@cmd{}}{\EndPicture}{}{} + \ConfigureEnv{pgfpicture}{\ifvmode\Picture*{}\else\Picture+{}\fi\def\inside@pict@cmd{}}{\EndPicture}{}{} + \catcode`\:=12 } % Make the code inserted by tex4ht configurable +% -\NewConfigure{tikzpicture}{2} -\Configure{tikzpicture}{% - % \ifvmode\IgnorePar\fi\EndP%\HtmlParOff - \protect\csname nested:math\endcsname% support display math - \run@pict@cmd{}% -}{\end@pict@cmd} -\let\orig@pgfsys@begin\pgfsys@beginpicture -\let\orig@pgfsys@end\pgfsys@endpicture -\def\pgf@sys@postscript@header#1{{\special{! #1}}} +\let\orig@pgfsys@typesetpicturebox\pgfsys@typesetpicturebox +%\def\pgf@sys@postscript@header#1{{\special{! #1}}} \endinput |