Skip to content

Commit

Permalink
Fix sphinx-doc#10695: old LaTeX does not allow \@ifpackageloaded usag…
Browse files Browse the repository at this point in the history
…e in body
  • Loading branch information
jfbu committed Jul 23, 2022
1 parent afac558 commit faccc21
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 19 deletions.
21 changes: 21 additions & 0 deletions sphinx/texinputs/sphinx.sty
Expand Up @@ -685,6 +685,27 @@
%% FRAMED ENVIRONMENTS
%
\RequirePackage{sphinxpackageboxes}
% This macro is possibly executed at begin document if the check
% whether radii setting options have been used turns out positive
\def\spx@RequirePackage@PictIIe{%
\IfFileExists{pict2e.sty}
{\RequirePackage{pict2e}}
{\PackageWarningNoLine{sphinx}{%
The package pict2e is required for rounded boxes.\MessageBreak
It does not seem to be available on your system.\MessageBreak
Options for setting radii will thus be ignored}%
\AtEndDocument{\PackageWarningNoLine{sphinx}{%
I issued a warning which may have gotten lost in the\MessageBreak
gigantic console output: pict2e.sty was not found,\MessageBreak
and radii setting options have been ignored}}%
\def\spx@boxes@fcolorbox@rounded{\spx@boxes@fcolorbox}%
}%
}%
% This at begin document will be executed after \spx@RequirePackage@PictIIe
\AtBeginDocument{%
\@ifpackageloaded{pict2e}{\let\spx@ifpackageloaded@pictiie\@firstoftwo}%
{\let\spx@ifpackageloaded@pictiie\@secondoftwo}%
}%
\input{sphinxlatexadmonitions.sty}
\input{sphinxlatexliterals.sty}
\input{sphinxlatexshadowbox.sty}
Expand Down
2 changes: 1 addition & 1 deletion sphinx/texinputs/sphinxlatexadmonitions.sty
Expand Up @@ -162,7 +162,7 @@
\ifdim\spx@boxes@radius@bottomleft >\z@0\fi
1\spx@boxes@fcolorbox{##1}%
\else
\@ifpackageloaded{pict2e}%
\spx@ifpackageloaded@pictiie
{\ifspx@boxes@insetshadow
\spx@boxes@fcolorbox{##1}%
\else
Expand Down
2 changes: 1 addition & 1 deletion sphinx/texinputs/sphinxlatexliterals.sty
Expand Up @@ -164,7 +164,7 @@
\ifdim\spx@pre@radius@bottomleft >\z@0\fi
1\spx@boxes@fcolorbox{\box\z@}%
\else
\@ifpackageloaded{pict2e}%
\spx@ifpackageloaded@pictiie
{\ifspx@pre@insetshadow
\spx@boxes@fcolorbox{\box\z@}%
\else
Expand Down
2 changes: 1 addition & 1 deletion sphinx/texinputs/sphinxlatexshadowbox.sty
Expand Up @@ -79,7 +79,7 @@
\ifdim\spx@topic@radius@bottomleft >\z@0\fi
1\spx@boxes@fcolorbox{\box\z@}%
\else
\@ifpackageloaded{pict2e}%
\spx@ifpackageloaded@pictiie
{\ifspx@topic@insetshadow
\spx@boxes@fcolorbox{\box\z@}%
\else
Expand Down
16 changes: 0 additions & 16 deletions sphinx/texinputs/sphinxpackageboxes.sty
Expand Up @@ -72,22 +72,6 @@
% if nothing else is changed (perhaps in future the title itself could be also
% rendered in a rounded box?)

\def\spx@RequirePackage@PictIIe{%
\IfFileExists{pict2e.sty}
{\RequirePackage{pict2e}}
{\PackageWarningNoLine{sphinx}{%
The package pict2e is required for rounded boxes.\MessageBreak
It does not seem to be available on your system.\MessageBreak
Options for setting radii will thus be ignored}%
\AtEndDocument{\PackageWarningNoLine{sphinx}{%
I issued a warning which may have gotten lost in the\MessageBreak
gigantic console output: pict2e.sty was not found,\MessageBreak
and radii setting options have been ignored}}%
\def\spx@boxes@fcolorbox@rounded{\spx@boxes@fcolorbox}%
}%
}%


%//// \spx@boxes@fcolorbox
% This box will have the same baseline as its argument (which is typeset in
% horizontal mode). It takes into account four border widths parameters, four
Expand Down

0 comments on commit faccc21

Please sign in to comment.