Em Tue, 25 May 2021 21:55:53 +0900 Akira Yokosawa <akiyks@xxxxxxxxx> escreveu: > On Tue, 25 May 2021 20:30:12 +0800, Wu X.C. wrote: > > 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> > > Thanks! > > > > > And one warning when am patch: > > > > .git/rebase-apply/patch:62: trailing whitespace. > > \kerneldocCJKoff > > Oops, will fix and post v3 soon, with your Tested-by: appended You can also add: Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> (but see below) > > > > > > >> 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. Well, this change seems good enough to me and it avoids the need of adding a separate conf.py. The only thing that concerns me is if this logic works with all Sphinx versions. I guess it should, but there were some changes in the past with the LaTeX output module which broke on newer versions, as different versions of Sphinx use different . So, this patch needs to be tested against the minimal version recommended for PDF output (2.4.4) and against the latest one, to be 100% sure that it won't cause any breakages. You can test it with something like: $ /usr/bin/python3 -m venv sphinx_foo $ . sphinx_foo/bin/activate $ pip install docutils Sphinx==2.4.4 sphinx_rtd_theme $ make pdfdocs ... # Should install Latest version, e. g. currently, Sphinx 4.0.2 $ pip uninstall Sphinx $ pip install docutils Sphinx sphinx_rtd_theme $ make pdfdocs (That's said, I didn't test version 4.0 yet... not sure if everything would work fine, even without this change) Regards, Mauro > > > >> --- 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. > > These two are placed there intentionally. > > As mentioned in the change log: > > >> 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. > > If they are put above chapter titles in the .rst files, > Chinese translation's final page's footer won't be rendered properly. > > Thanks, Akira > > > > > Thanks, > > Wu X.C. > > Thanks, Mauro