From 4b2fff4e5ec66b50acb7a6384c95a6277c0d6641 Mon Sep 17 00:00:00 2001 From: jfbu Date: Sun, 12 Mar 2017 19:39:18 +0100 Subject: [PATCH] Streamline obsolete color set-up in LaTeX style file The file ``pdfcolor.tex`` included in tex distributions is for Plain pdfTeX, not for LaTeX use. Loading it complicates task of supporting multiple TeX engines. If needed all corresponding colour names are better available from passing to ``color`` or ``xcolor`` the ``dvipsnames`` option. It is better to leave responsability of using this option to Sphinx user, if needed. The macros for setting the color defined by ``pdfcolor.tex`` were never documented to Sphinx user, and they can not be used from reST apart from ``.. raw:: latex`` directive, they are for Plain TeX without use of ``color`` package. Thus, this commit drops loading this file and the complicated conditionals around it (``\ifsphinxpdfoutput``), which are also used in the class files ``sphinxmanual.cls``, ``sphinxhowto.cls``. Also, this fixes issue #2693. --- sphinx/texinputs/sphinx.sty | 36 ++++++++----------------------- sphinx/texinputs/sphinxhowto.cls | 3 ++- sphinx/texinputs/sphinxmanual.cls | 3 ++- 3 files changed, 13 insertions(+), 29 deletions(-) diff --git a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty index 8e78e66fb..2f82678a7 100644 --- a/sphinx/texinputs/sphinx.sty +++ b/sphinx/texinputs/sphinx.sty @@ -402,33 +402,15 @@ %% COLOR (general) % -% FIXME: the reasons might be obsolete (better color drivers now?) -% use pdfoutput for pTeX and dvipdfmx -% when pTeX (\kanjiskip is defined), set pdfoutput to evade \include{pdfcolor} -\ifx\kanjiskip\undefined\else - \newcount\pdfoutput\pdfoutput=0 -\fi - -% for PDF output, use colors and maximal compression -\newif\ifsphinxpdfoutput % used in \maketitle -\ifx\pdfoutput\undefined\else - \ifnum\pdfoutput=\z@ - \let\py@NormalColor\relax - \let\py@TitleColor\relax - \else - \sphinxpdfoutputtrue - \input{pdfcolor} - \def\py@NormalColor{\color[rgb]{0.0,0.0,0.0}} - \def\py@TitleColor{\color{TitleColor}} - \pdfcompresslevel=9 - \fi -\fi - -% XeLaTeX can do colors, too -\ifx\XeTeXrevision\undefined\else - \def\py@NormalColor{\color[rgb]{0.0,0.0,0.0}} - \def\py@TitleColor{\color{TitleColor}} -\fi +% FIXME: \normalcolor should probably be used in place of \py@NormalColor +% elsewhere, and \py@NormalColor shoudl never be defined. \normalcolor +% switches to the colour from last \color call in preamble. +\def\py@NormalColor{\color{black}} +% FIXME: it is probably better to use \color{TitleColor}, as TitleColor +% can be customized from 'sphinxsetup', and drop usage of \py@TitleColor +\def\py@TitleColor{\color{TitleColor}} +% FIXME: this line should be dropped, as "9" is default anyhow. +\ifdefined\pdfcompresslevel\pdfcompresslevel = 9 \fi %% PAGE STYLING diff --git a/sphinx/texinputs/sphinxhowto.cls b/sphinx/texinputs/sphinxhowto.cls index bcb648336..ca71a625a 100644 --- a/sphinx/texinputs/sphinxhowto.cls +++ b/sphinx/texinputs/sphinxhowto.cls @@ -31,7 +31,8 @@ % \renewcommand{\maketitle}{% \noindent\rule{\textwidth}{1pt}\newline\null\par - \ifsphinxpdfoutput + % FIXME: use \hypersetup{pdfauthor={\@author}, pdftitle={\@title}} + \ifdefined\pdfinfo \begingroup % These \defs are required to deal with multi-line authors; it % changes \\ to ', ' (comma-space), making it pass muster for diff --git a/sphinx/texinputs/sphinxmanual.cls b/sphinx/texinputs/sphinxmanual.cls index b2525b40f..e181a74bc 100644 --- a/sphinx/texinputs/sphinxmanual.cls +++ b/sphinx/texinputs/sphinxmanual.cls @@ -41,7 +41,8 @@ \let\footnotesize\small \let\footnoterule\relax \noindent\rule{\textwidth}{1pt}\newline\null\par - \ifsphinxpdfoutput + % FIXME: use \hypersetup{pdfauthor={\@author}, pdftitle={\@title}} + \ifdefined\pdfinfo \begingroup % These \defs are required to deal with multi-line authors; it % changes \\ to ', ' (comma-space), making it pass muster for