Re: [PATCH v2] docs: Activate exCJK only in CJK chapters

From: Wu X.C.
Date: Tue May 25 2021 - 08:30:22 EST


On Tue, May 25, 2021 at 08:17:26PM +0900, Akira Yokosawa wrote:
> Activating xeCJK in English and Italian-translation documents
> results in sub-optimal typesetting with wide-looking apostrophes
> and quotation marks.
>
> The xeCJK package provides macros for enabling and disabling its
> effect in the middle of a document, namely \makexeCJKactive and
> \makexeCJKinactive.
>
> So the goal of this change is to activate xeCJK in the relevant
> chapters in translations.
>
> To do this:
>
> o Define custom macros in the preamble depending on the
> availability of the "Noto Sans CJK" font so that those
> macros can be used regardless of the use of xeCJK package.
>
> o Patch \sphinxtableofcontents so that xeCJK is inactivated
> after table of contents.
>
> o Embed those custom macros in each language's index.rst file
> as a ".. raw:: latex" construct.
>
> Note: A CJK chapter needs \kerneldocCJKon in front of its chapter
> heading, while a non-CJK chapter should have \kerneldocCJKoff
> below its chapter heading.
>
> This is to make sure the CJK font is available to CJK chapter's
> heading and ending page's footer.
>
> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>

Test it, worked well.

Tested-by: Wu XiangCheng <bobwxc@xxxxxxxx>

And one warning when am patch:

.git/rebase-apply/patch:62: trailing whitespace.
\kerneldocCJKoff


> I think per-directory conf.py can be tried as a follow-up
> change after this patch is applied.

Agree, I think it's enough for this problem.
If we need more complex customization, per-directory conf.py then worth.

> --- a/Documentation/translations/index.rst
> +++ b/Documentation/translations/index.rst
> @@ -18,6 +18,10 @@ Translations
> Disclaimer
> ----------
>
> +.. raw:: latex
> +
> + \kerneldocCJKoff
> +
> Translation's purpose is to ease reading and understanding in languages other
> than English. Its aim is to help people who do not understand English or have
> doubts about its interpretation. Additionally, some people prefer to read
> diff --git a/Documentation/translations/it_IT/index.rst b/Documentation/translations/it_IT/index.rst
> index bb8fa7346939..e80a3097aa57 100644
> --- a/Documentation/translations/it_IT/index.rst
> +++ b/Documentation/translations/it_IT/index.rst
> @@ -4,6 +4,10 @@
> Traduzione italiana
> ===================
>
> +.. raw:: latex
> +
> + \kerneldocCJKoff
> +
> :manutentore: Federico Vaga <federico.vaga@xxxxxxxxxx>
>
> .. _it_disclaimer:

And for above two, maybe better to put "raw:: latex" block above the
title, more beautiful, and CJKoff will be done before enter "Italiana"
chapter.

Thanks,
Wu X.C.

Attachment: signature.asc
Description: PGP signature