From 34f1ce17fd503b50e8b6b0cee8f43eae6d6a9b73 Mon Sep 17 00:00:00 2001 From: jfbu Date: Fri, 7 Oct 2016 23:25:04 +0200 Subject: [PATCH] Fix #3018: LaTeX problem with page dimensions and chapter titles New key ``'geometry'`` to ``latex_elements``. --- doc/config.rst | 6 ++++++ sphinx/templates/latex/content.tex_t | 1 + sphinx/texinputs/sphinx.sty | 18 ------------------ sphinx/writers/latex.py | 2 ++ tests/test_build_latex.py | 2 +- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/doc/config.rst b/doc/config.rst index e257b3c95..4bb572620 100644 --- a/doc/config.rst +++ b/doc/config.rst @@ -1675,6 +1675,12 @@ These options influence LaTeX output. See further :doc:`latex`. example ``100px=1in``, one can use ``'0.01in'`` but it is more precise to use ``'47363sp'``. To obtain ``72px=1in``, use ``'1bp'``. + .. versionadded:: 1.5 + ``'geometry'`` + "geometry" package inclusion, the default definition is: + + ``'\\usepackage[margin=1in,marginparwidth=0.5in]{geometry}'``. + .. versionadded:: 1.5 ``'babel'`` "babel" package inclusion, default ``'\\usepackage{babel}'``. diff --git a/sphinx/templates/latex/content.tex_t b/sphinx/templates/latex/content.tex_t index bb246ff6b..b9466e7ce 100644 --- a/sphinx/templates/latex/content.tex_t +++ b/sphinx/templates/latex/content.tex_t @@ -6,6 +6,7 @@ \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen \fi \sphinxpxdimen=<%= pxunit %>\relax <%= passoptionstopackages %> +<%= geometry %> <%= inputenc %> <%= utf8extra %> <%= cmappkg %> diff --git a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty index b2363b91c..fc0ca9d39 100644 --- a/sphinx/texinputs/sphinx.sty +++ b/sphinx/texinputs/sphinx.sty @@ -102,24 +102,6 @@ \def\py@TitleColor{\color{TitleColor}} \fi -% Increase printable page size (copied from fullpage.sty) -\topmargin 0pt -\advance \topmargin by -\headheight -\advance \topmargin by -\headsep - -% attempt to work a little better for A4 users -\textheight \paperheight -\advance\textheight by -2in - -\oddsidemargin 0pt -\evensidemargin 0pt -%\evensidemargin -.25in % for ``manual size'' documents -\marginparwidth 0.5in - -\textwidth \paperwidth -\advance\textwidth by -2in - - % Style parameters and macros used by most documents here \raggedbottom \sloppy diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index ebd96662b..6353e8948 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -265,6 +265,8 @@ class LaTeXTranslator(nodes.NodeVisitor): 'classoptions': '', 'extraclassoptions': '', 'passoptionstopackages': '', + 'geometry': '\\usepackage[margin=1in,marginparwidth=0.5in]' + '{geometry}', 'inputenc': '', 'utf8extra': ('\\ifdefined\\DeclareUnicodeCharacter\n' ' \\DeclareUnicodeCharacter{00A0}{\\nobreakspace}\n' diff --git a/tests/test_build_latex.py b/tests/test_build_latex.py index 1dd0dcf7b..9c504854a 100644 --- a/tests/test_build_latex.py +++ b/tests/test_build_latex.py @@ -28,7 +28,7 @@ from test_build_html import ENV_WARNINGS LATEX_ENGINES = ['pdflatex', 'lualatex', 'xelatex'] DOCCLASSES = ['howto', 'manual'] STYLEFILES = ['article.sty', 'fancyhdr.sty', 'titlesec.sty', 'amsmath.sty', 'framed.sty', - 'color.sty', 'fancyvrb.sty', 'threeparttable.sty'] + 'color.sty', 'fancyvrb.sty', 'threeparttable.sty', 'geometry.sty'] LATEX_WARNINGS = ENV_WARNINGS + """\ %(root)s/index.rst:\\d+: WARNING: unknown option: &option