Re: [PATCH v2 2/3] docs/conf.py: Respect env variable SPHINX_IMGMATH

From: Jonathan Corbet
Date: Thu Aug 18 2022 - 13:26:07 EST


Akira Yokosawa <akiyks@xxxxxxxxx> writes:

> On some distros with coarse-grained packaging policy, dvipng is
> installed along with latex. In such cases, math rendering will
> use imgmath by default. It is possible to override the choice by
> specifying the option string of "-D html_math_renderer='mathjax'"
> to sphinx-build (Sphinx >= 1.8).
>
> To provide developers an easier-to-use knob, add code for an env
> variable "SPHINX_IMGMATH" which overrides the automatic choice
> of math renderer for html docs.
>
> SPHINX_IMGMATH=yes : Load imgmath even if dvipng is not found
> SPHINX_IMGMATH=no : Don't load imgmath (fall back to mathjax)
>
> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> ---
> Changes since v1:
> - No logical changes.
> - Renames:
> LOAD_IMGMATH -> SPHINX_IMGMATH (Mauro),
> opt_load_imgmath -> env_sphinx_imgmath.
> - Acked-by from Mauro.
>
> --
> Documentation/conf.py | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index 3ec1f845c839..0b8f20e8e22c 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -128,8 +128,20 @@ autosectionlabel_maxdepth = 2
> # mathjax is the default math renderer since Sphinx 1.8.
> have_latex = have_command('latex', '--version', 'pdfTeX')
> have_dvipng = have_command('dvipng', '--version', 'dvipng')
> -load_imgmath = ((have_latex and have_dvipng)
> - or (major == 1 and minor < 8)
> +load_imgmath = have_latex and have_dvipng
> +
> +# Respect SPHINX_IMGMATH (for html docs only)
> +if 'SPHINX_IMGMATH' in os.environ:
> + env_sphinx_imgmath = os.environ['SPHINX_IMGMATH']
> + if 'yes' in env_sphinx_imgmath:
> + load_imgmath = True
> + elif 'no' in env_sphinx_imgmath:
> + load_imgmath = False
> + else: # otherwide, auto selection
> + pass

That "else: pass" sequence does nothing, of course, and could be taken
out.

Otherwise fine,

jon