fix(docs): fix build errors for latexpdf

Fixes errors encountered when handling SVG graphics, unicode characters,
and deeply nested lists (i.e. in the change log) with the `latexpdf`
docs build. Adds `sphinxcontrib-svg2pdfconverter` to allow embedding SVG
images into PDF files; changes the LaTeX engine to XeLaTex to provide
wider support for unicode characters (see [1] for more details); and
increases the maximum list depth.

[1] https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-latex_engine

Change-Id: I2ee265d301f6822bae7aa6dfa3a8bfcf070076d3
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
This commit is contained in:
Harrison Mutai 2023-05-31 10:18:49 +01:00
parent 29b11baf6b
commit 443d6ea699
4 changed files with 58 additions and 52 deletions

View file

@ -9,18 +9,25 @@
#
# See the options documentation at http://www.sphinx-doc.org/en/master/config
import os
# -- Project information -----------------------------------------------------
project = "Trusted Firmware-A"
author = "Trusted Firmware-A contributors"
version = "2.9.0"
release = "2.9.0"
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["myst_parser", "sphinx.ext.autosectionlabel", "sphinxcontrib.plantuml"]
extensions = [
"myst_parser",
"sphinx.ext.autosectionlabel",
"sphinxcontrib.plantuml",
"sphinxcontrib.inkscapeconverter",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
@ -48,7 +55,8 @@ exclude_patterns = [".env", "env", ".venv", "venv"]
pygments_style = "sphinx"
# Load the contents of the global substitutions file into the 'rst_prolog'
# variable. This ensures that the substitutions are all inserted into each page.
# variable. This ensures that the substitutions are all inserted into each
# page.
with open("global_substitutions.txt", "r") as subs:
rst_prolog = subs.read()
@ -93,3 +101,11 @@ autosectionlabel_maxdepth = 1
# -- Options for plantuml ----------------------------------------------------
plantuml_output_format = "svg_img"
# -- Options for latexmk ----------------------------------------------------
latex_engine = "xelatex"
latex_elements = {
"maxlistdepth": "10",
"pointsize": "11pt",
}