Re: [PATCH RFC 0/4] Fix PDF build errors

From: Markus Heiser
Date: Wed Nov 02 2016 - 12:09:39 EST



Am 02.11.2016 um 12:14 schrieb Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>:

> On Wed, 02 Nov 2016, Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> wrote:
>> This series address a series of errors during PDF generation from
>> media documentation.
>>
>> Please notice that patch 2 carries on a PDF conversion from a PNG
>> image, because Sphinx is not smart enough to do the convertion.
>>
>> This is a temporary solution (That's why I'm marking this series
>> as RFC).
>
> This seems to work on top of docs-next.
>
> ...but it'll break again if we include the missing admin-guide in the
> build. :(
> Sadly, this breaks the pdf build with:
>
> ! TeX capacity exceeded, sorry [main memory size=5000000].
> \FV@Space ...ionary {\copy \sphinxvisiblespacebox
> }{\sphinxafterbreak } {\ke...
> l.3711 ...\PYG{n}{be} \PYG{n}{used} \PYG{n+nb}{to}
> or 2


This is the verbatim block of the kernel parameters with more
than 4300 lines in.

IMO, Verbatim exceeded, because in sphinx.sty is a redefinition
of the LaTeX Verbatim command which might be sloppy / see
sphinx.sty::

\renewcommand{\Verbatim}[1][1]{%
....

The renew-Verbatim has been removed later:

https://github.com/sphinx-doc/sphinx/commit/f9880bfcc8b19a7d197badeb6ab412abfca19891

I my POC I use such a modified sphinx.sty

https://github.com/return42/sphkerneldoc/blob/master/_tex/sphinx.sty

with it, the PDF is build:

https://h2626237.stratoserver.net/kernel/books/admin-guide/pdf/linux-user.pdf

Using modified sphinx.sty has the drawback, that it is not
up- or downward compatible to the installed Sphinx version.

So in short, I think it is the best to come back to the reasons
and just split kernel parameters in several blocks and using the
'none' option to prevent rendering as C .. E.g:

.. code-block:: none

acpi= [HW,ACPI,X86,ARM64]
Advanced Configuration and Power Interface
Format: { force | on | off | strict | noirq | rsdt |
copy_dsdt }

-- Markus --