diff --git a/CHANGES b/CHANGES index 6f64c1d0f4a..375a32c8eb9 100644 --- a/CHANGES +++ b/CHANGES @@ -43,6 +43,7 @@ Bugs fixed * #2351: latex crashes if enumerated lists are placed on footnotes * #2646: latex crashes if math contains twice empty lines * #2480: `sphinx.ext.autodoc`: memory addresses were shown +* latex: allow one more nesting depth for code-blocks (ref #777, PR #2624) Release 1.4.3 (released Jun 5, 2016) diff --git a/sphinx/texinputs/sphinx.sty b/sphinx/texinputs/sphinx.sty index 27815a1d2b6..1649651e4ac 100644 --- a/sphinx/texinputs/sphinx.sty +++ b/sphinx/texinputs/sphinx.sty @@ -337,20 +337,19 @@ % - if caption: vertical space above caption = (\abovecaptionskip + D) with % D = \baselineskip-\FrameHeightAdjust, and then \smallskip above frame. % - if no caption: (\smallskip + D) above frame. By default D=6pt. - \list{}{% - \setlength\parskip{0pt}% - \setlength\itemsep{0ex}% - \setlength\topsep{0ex}% - \setlength\parsep{0pt}% let's not forget this one! - \setlength\partopsep{0pt}% - \setlength\leftmargin{0pt}% - }% - \item + % Use trivlist rather than list to avoid possible "too deeply nested" error. + \itemsep \z@skip + \topsep \z@skip + \partopsep \z@skip% trivlist will set \parsep to \parskip = zero (see above) + % \leftmargin will be set to zero by trivlist + \rightmargin\z@ + \parindent \z@% becomes \itemindent. Default zero, but perhaps overwritten. + \trivlist\item\relax % use a minipage if we are already inside a framed environment - \relax\ifSphinx@inframed\noindent\begin{minipage}{\linewidth}\fi + \ifSphinx@inframed\noindent\begin{minipage}{\linewidth}\fi \MakeFramed {% adapted over from framed.sty's snugshade environment - \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize - \@setminipage }% + \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize + \@setminipage }% \small % For grid placement from \strut's in \FancyVerbFormatLine \lineskip\z@skip @@ -361,8 +360,7 @@ \endOriginalVerbatim \par\unskip\@minipagefalse\endMakeFramed \ifSphinx@inframed\end{minipage}\fi - \endlist - % LaTeX environments always revert local changes on exit, here e.g. \parskip + \endtrivlist } % define macro to frame contents and add shadow on right and bottom