summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/ltpictur.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltpictur.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/ltpictur.dtx115
1 files changed, 107 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltpictur.dtx b/Master/texmf-dist/source/latex/base/ltpictur.dtx
index 9d7ef572a77..e5ca4262c8e 100644
--- a/Master/texmf-dist/source/latex/base/ltpictur.dtx
+++ b/Master/texmf-dist/source/latex/base/ltpictur.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2015/02/21 v1.1k LaTeX Kernel (Picture Mode)]
+ [2016/03/29 v1.1l LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -54,7 +54,6 @@
%</driver>
% \fi
%
-% \CheckSum{1505}
%
% \changes{v1.0g}{1995/05/07}{Use \cs{hb@xt@}}
% \changes{v1.1a}{1995/05/19}{Support autoloading feature}
@@ -1103,7 +1102,7 @@
%
% \begin{macro}{\@picture@warn}
% Generic warning for lines, vectors (used in |\@sline|) and
-% oval or circle (used un |\@getcirc|) are not available at
+% oval or circle (used in |\@getcirc|) are not available at
% right size.
% \changes{v1.1g}{1997/09/15}{Macro added pr/2524}
% \begin{macrocode}
@@ -1125,19 +1124,58 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2016/03/31}%
+%<latexrelease> {\@ovhlinetrue}%
+%<latexrelease> {Avoid almost zero length leaders}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macro}{\if@ovvline}
+% \changes{v.1l}{2016/03/29}{macro added (latex/4452)}
+% \begin{macro}{\if@ovhline}
+% \changes{v.1l}{2016/03/29}{macro added (latex/4452)}
+% Tests whether horizontal or vertical lines are needed.
+% \begin{macrocode}
+\newif\if@ovvline \@ovvlinetrue
+\newif\if@ovhline \@ovhlinetrue
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\@oval}
% \begin{macrocode}
\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+% \end{macrocode}
+% \changes{v.1l}{2016/03/29}{initialise tests}
+% \begin{macrocode}
+ \@ovvlinefalse \@ovhlinefalse
+% \end{macrocode}
+% \begin{macrocode}
\@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
- \@ovxx
- #1\unitlength \@ovyy #2\unitlength
- \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+ \@ovxx #1\unitlength
+ \@ovyy #2\unitlength
+% \end{macrocode}
+% \changes{v.1l}{2016/03/29}{add setting of line tests}
+% \begin{macrocode}
+ \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx \@ovvlinetrue
+ \else \@ovyy \ifdim \@ovyy =\@ovxx \else \@ovhlinetrue \fi\fi
+% \end{macrocode}
+% \begin{macrocode}
\advance \@tempdimb -2\p@
\@getcirc \@tempdimb
\@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
\@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
\@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+% \end{macrocode}
+% \changes{v.1l}{2016/03/29}{add setting of line tests}
+% \begin{macrocode}
+ \ifdim \@ovdx >\z@ \@ovhlinetrue \fi
+ \ifdim \@ovdy >\z@ \@ovvlinetrue \fi
+% \end{macrocode}
+% \begin{macrocode}
\@circlefnt \setbox\@tempboxa
\hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
\if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
@@ -1155,7 +1193,14 @@
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
\else \kern \@ovri \kern \@ovdy \fi
- \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+% \end{macrocode}
+% \changes{v.1l}{2016/03/29}
+% {use glue not leaders if vertical line not required}
+% \begin{macrocode}
+ \if@ovvline \leaders\vrule \@width \@wholewidth \fi
+% \end{macrocode}
+% \begin{macrocode}
+ \vfil \nointerlineskip
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
\hbox{\char \@tempcntb}%
\else \kern \@ovdy \kern \@ovro \fi}}
@@ -1166,12 +1211,66 @@
% \begin{macrocode}
\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
\if@ovr \else \kern \@ovdx \fi
- \leaders \hrule \@height \@wholewidth \hfil
+% \end{macrocode}
+% \changes{v.1l}{2016/03/29}
+% {use glue not leaders if horizontal line not required}
+% \begin{macrocode}
+ \if@ovhline \leaders \hrule \@height \@wholewidth \fi
+% \end{macrocode}
+% \begin{macrocode}
+ \hfil
\if@ovl \else \kern \@ovdx \fi
\kern \@ovri}}
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@ovhlinetrue}%
+%<latexrelease> {Avoid almost zero length leaders}%
+%<latexrelease>\let\if@ovvline\@undefined
+%<latexrelease>\let\if@ovhline\@undefined
+%<latexrelease>\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+%<latexrelease> \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+%<latexrelease> \@tfor\reserved@a :=#3\do
+%<latexrelease> {\csname @ov\reserved@a false\endcsname}%
+%<latexrelease> \@ovxx #1\unitlength
+%<latexrelease> \@ovyy #2\unitlength
+%<latexrelease> \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+%<latexrelease> \advance \@tempdimb -2\p@
+%<latexrelease> \@getcirc \@tempdimb
+%<latexrelease> \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+%<latexrelease> \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+%<latexrelease> \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+%<latexrelease> \@circlefnt \setbox\@tempboxa
+%<latexrelease> \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+%<latexrelease> \if@ovl
+%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
+%<latexrelease> \fi
+%<latexrelease> \if@ovt \@ovhorz \kern -\@ovxx \fi
+%<latexrelease> \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+%<latexrelease> \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+%<latexrelease> \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+%<latexrelease> \endgroup}
+%<latexrelease>\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+%<latexrelease> \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
+%<latexrelease> \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+%<latexrelease> \else \kern \@ovri \kern \@ovdy \fi
+%<latexrelease> \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+%<latexrelease> \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
+%<latexrelease> \hbox{\char \@tempcntb}%
+%<latexrelease> \else \kern \@ovdy \kern \@ovro \fi}}
+%<latexrelease>\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+%<latexrelease> \if@ovr \else \kern \@ovdx \fi
+%<latexrelease> \leaders \hrule \@height \@wholewidth \hfil
+%<latexrelease> \if@ovl \else \kern \@ovdx \fi
+%<latexrelease> \kern \@ovri}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
% \begin{macro}{\circle}
% \changes{LaTeX2.09}{1993/08/05}
% {(RMS) Added error message if \cs{circle} is used in math mode.}