Reason is that mark-up such as this:
.. attribute:: state
state_machine
The state and state machine which controls the parsing. Used for
``nested_parse``.
generates two `\pysigline` each with `\phantomsection`. The latex code
to get good vertical spacing between label and its description, if label
``\parbox`` is multi-line, cause in this context the two (generally,
single-line) labels to be stacked vertically with no spacing.
This commit keeps the ``\parbox`` which fixes#8980, but drops the
attempt to correct vertical distance to description, so as to not alter
the possibly more common use case of items with common description.
Codeline wrapping in literal blocks (possibly hard-wrap in presence of
unbreakable long strings) requires a measurement step. Spring 2021 LaTeX
adds quite some overhead to each and every paragraph to insert hooks at
begin and end of paragraphs. For technical reasons, our measurement
(which uses a paragraph in a scratch box) could be broken by the "after
para" hook. Work around that.
Resolved Conflicts:
sphinx/texinputs/sphinx.sty
Some hunks needed to go to sphinx/texinputs/sphinxlatexliterals.py,
others already belonged to split files.
This needs special coding only for pdflatex, Unicode TeX engines already
handle Unicode characters as one token.
The utf8x LaTeX input encoding is not supported, only utf8.
To achieve this the simplest was to use also the \label/\ref mechanism
as for footnotes typeset using footnotetext. Removing the hack into
footnotehyper internal macro, we use an enriched scope, which will
enable references with same number to each generate correct links.
This reverts commit 17642a5e6b.
Fixes#8838. For some reason the \nobreak causes breakage in table
vertical spacing for merge cells in tabular and longtable, and regarding
tabulary for all cells...
Reverting this will cause as described in the reverted commit message
some much less annoying problem in certain circumstances when a long
word has no hyphenation point.
This fixes a problem introduced at 1.1b which could case latex build
crash in case of extra user packages.
It also improves compatibility with babel + french.
As master drop python 3.5 support, conditional
if sys.version_info >= (3, 6):
not needed anymore. This hunk had got lost in merge.
modified: sphinx/domains/python.py
Incorporate 1.1c fix to usage of savenotes around a mid-paragraph list,
and also the 1.0..1.1 upstream patch about usage within minipages while
we are at it.
This is a (continuation and) re-work of #8769 (e6bf9145dc)
I have reintegrated option handling and most package loading into the
original file sphinx.sty and reorganized completely the filenames of
secondary style files.
sphinx.sty had become too big and first #8769 now this more definitive
refactoring is necessary to clarify structure, dependencies, and ease up
future maintenance.
Unfortunately this means a lot of moving around hunks of latex code with
some alterations. I tried to carefully check everything is defined in
right order (as LaTeX being a macro expansion language, often one can
manipulate things before them being defined, nevertheless I checked
things are done in order).
Only simple thing is to review is that I added missing EOLs at last
lines of the extracted files...
The {\py@NormalColor} was wrong it should have been [\py@NormalColor].
It got executed by latex during document preamble and never got
integrated as part of the heading...
Closes: #8788
This is cosmetic as the blank line starting varwidth environment used
for merged table cells in latex output changed nothing to PDF.
Nevertheless I extended a unit test to have a multi-paragraph merged
cell using varwidth. What is important is that \sphinxAtStartPar line
itself is never followed by blank line.
Else, a non-hyphenatable long word as first word in a narrow column in a
longtable/tabular (with column type e.g. p{1cm} from tabularcolumns
directive) gets shifted downwards vertically in PDF output.
Memo:
1. I did not find other cases where such a vertical shift may occur (I
tried with deeply nested lists and artificial words such as 'A'*32) with
LaTeX mark-up produced by Sphinx,
2. but with the support of hlist directive via PR #8779 using multicols
environment, there is again this situation of downwards shift of
non-hyphenatable long first words. But it occurs whether or not
\sphinxAtStartPar is used (\nobreak does not modify this).
Compare doc/conf.py after merge at c9480f994 to what it was at 2ee033838.
It loses the modification from #8716 (merged at 38c614347) and thus
reverts doc/conf.py to former font config using mathpazo.