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

Randy Dunlap
2022-08-28T00:38:48Z

Hi Akira,

On 8/26/22 21:38, Akira Yokosawa wrote:
> 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)

Please add SPHINX_IMGMATH to Documentation/doc-guide/sphinx.rst
(I guess), where other Sphinx environment variables are listed.

> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
> Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
> Changes since v2:
> - Emit warning on unknown setting of SPHINX_IMGMATH.
>
> 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 c4aaedd96220..9678a8215457 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -124,8 +124,20 @@ autosectionlabel_maxdepth = 2
> # mathjax is the default math renderer since Sphinx 1.8.
> have_latex = have_command('latex')
> have_dvipng = have_command('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:
> + sys.stderr.write("Unknown env SPHINX_IMGMATH=%s ignored.\n" % env_sphinx_imgmath)
> +
> +# Always load imgmath for Sphinx <1.8 or for epub docs
> +load_imgmath = (load_imgmath or (major == 1 and minor < 8)
> or 'epub' in sys.argv)
>
> if load_imgmath:

thanks.
--
~Randy