sphinx-doc / sphinx

The Sphinx documentation generator
https://www.sphinx-doc.org/
Other
6.47k stars 2.11k forks source link

Bibliography crashes on latex build with docclass 'memoir' #3315

Closed ajgpitch closed 7 years ago

ajgpitch commented 7 years ago

Subject: Bibliography crashes on build with docclass 'memoir' in qutip/qutip-doc

Problem

The latexpdf build of our document fails. To date it seems we use the 'memoir' docclass. I don't know why, this is my first attempt at building the docs (about 3 days into it now!). The problem does not occur with the 'manual' docclass, but I have to ditch our preamble (which does not bother me so long as everything works and looks ok) Problem does not occur in v1.4.6, which is how I tracked it to a potential issue with sphinx (after about 20 hours of trying :)

Procedure to reproduce the problem

make latexpdf

Error logs / results

! LaTeX Error: \begin{bibitemlist} on input line 1547 ended by \end{sphinxthebibliography}.

Expected results

Create pdf including the bibliography

Reproducible project / your project

This is not our project doc, it's the smallest reproduction of the problem I could make. sph1_6test-qutip-doc.tar.gz

Environment info

jfbu commented 7 years ago

Thank you for the report and sorry for inconvenience!

Thanks for the small project displaying the problem.

This should fix the issue. Add these lines at the end of your file latex_output_files/latex_preamble.tex:

\ifdefined\endsphinxthebibliography\else
\def\endsphinxthebibliography{\endthebibliography}
\fi
\ifdefined\endsphinxtheindex\else
\def\endsphinxtheindex{\endtheindex}
\fi

Memo: this problem is caused by an oversight in 1a540247b which was merged in 1.5. The bug will be fixed in 1.5.2. Then the above lines are not needed but they cause no harm either.

ajgpitch commented 7 years ago

Wow, that was quick.

Actually, I am thinking of it as serendipitous, as the whole thing looks much better with 'manual' docclass. The preamble does not seem to be missed. I learned a lot these last few days :)

Good to have a solution though, just in case my fellow team members point out something I missed that makes the 'memoir' essential.

Thank you

On 8 January 2017 at 19:28, Jean-François B. notifications@github.com wrote:

Thank you for the report and sorry for inconvenience!

Thanks for the small project displaying the problem.

This should fix the issue. Add these lines at the end of your file latex_output_files/latex_preamble.tex:

\ifdefined\endsphinxthebibliography\else\def\endsphinxthebibliography{\endthebibliography}\fi\ifdefined\endsphinxtheindex\else\def\endsphinxtheindex{\endtheindex}\fi

Memo: this problem is caused by an oversight in 1a54024 https://github.com/sphinx-doc/sphinx/commit/1a540247b61ba96424882d987ac065b201a3e3ba which was merged in 1.5. The bug will be fixed in 1.5.2. Then the above lines are not needed but they cause no harm either.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sphinx-doc/sphinx/issues/3315#issuecomment-271142511, or mute the thread https://github.com/notifications/unsubscribe-auth/AIxX7aNSKYCLtpO_3jn3uKKa_mowdGQIks5rQLowgaJpZM4LdpmK .

jfbu commented 7 years ago

Glad it worked!

Part of your latex_preamble.tex (the definition of \maketitle) looks like an old version of sphinxmanual.cls from which use of the titlepage environment has additionally been removed (memoir has no such environment).

But more relevant possibly is that at top of the latex_preamble.tex you have some use of tikz package for chapter titles. But this is overruled from the fact that fncychap key is left to default in your conf.py. If you want to see the effect of the TikZ code, you should add

    'fncychap' : '',

to latex_elements in the conf.py. Else, there is no need to load package tikz in latex_preamble.tex as \chapterstyle{box} will remain without effect due to package fncychap which is loaded by default by Sphinx (and somehow does not create conflict with memoir but overrides its config for chapter titles)

(http://www.sphinx-doc.org/en/1.5.1/config.html#confval-latex_elements)

jfbu commented 7 years ago

fixed at https://github.com/sphinx-doc/sphinx/commit/c9204ea95ad1ad377054526edd9533d20d783622