Re: [PATCH 1/3] docs: pdfdocs: Pull LaTeX preamble part out of conf.py

From: Akira Yokosawa
Date: Fri Feb 25 2022 - 20:32:01 EST


On Thu, 24 Feb 2022 12:33:25 -0700,
Jonathan Corbet wrote:
> Akira Yokosawa <akiyks@xxxxxxxxx> writes:
>
>> Quote from Jon's remark [1]:
>>
>> I do notice that Documentation/conf.py is getting large and
>> unapproachable. At some future point, it might be nice to pull
>> all of the latex stuff out into a separate file where it won't
>> scare people who stumble into it by accident.
>>
>> Pull LaTeX preamble settings added since commit 3b4c963243b1 ("docs:
>> conf.py: adjust the LaTeX document output") out into
>> sphinx/kerneldoc-preamble.sty.
>>
>> It will be copied to the build directory by the added
>> "latex_additional_files" setting in conf.py.
>>
>> As a bonus, LaTeX/TeX code can be maintained without escaping backslashes.
>
> I've applied the set, thanks. Still testing the pdfdocs build (and will
> be for some time, naturally)
>
> One little note, since you mentioned the need for backslash escapes:
>
>> +# Load kerneldoc specific LaTeX settings
>> +latex_elements['preamble'] += '''
>> + % Load kerneldoc specific LaTeX settings
>> + \\input{kerneldoc-preamble.sty}
>> +'''
>
> You can avoid that problem in Python code with the use of raw strings:
>
> latex_elements['preamble'] += r'''
> % Load kerneldoc specific LaTeX settings
> \input{kerneldoc-preamble.sty}
> '''
>
> (note the "r" on the first line). Something for future reference.

Thank you for the tip.

It turns out that I unknowingly used a raw string in commit
77abc2c230b1 ("docs: pdfdocs: One-half spacing for CJK translations").

I think I copy-pasted an example from "extrapackages" key documentation.

Now I understand the use of raw string.
I will convert remaining LaTeX code in conf.py to raw string(s)
when I need to edit it in the future.

Thanks, Akira

>
> Thanks,
>
> jon