# HG changeset patch # User wenzelm # Date 1638540676 -3600 # Node ID 0ab2ed1489eb32072928ecf58b27ae6519b4b477 # Parent 9e9a308562da1577deb2c0b3844c6f14e7a18ebc more documentation about document build options; diff -r 9e9a308562da -r 0ab2ed1489eb src/Doc/System/Presentation.thy --- a/src/Doc/System/Presentation.thy Fri Dec 03 13:32:58 2021 +0100 +++ b/src/Doc/System/Presentation.thy Fri Dec 03 15:11:16 2021 +0100 @@ -161,17 +161,33 @@ \<^medskip> Isabelle is usually smart enough to create the PDF from the given \<^verbatim>\root.tex\ and optional \<^verbatim>\root.bib\ (bibliography) and \<^verbatim>\root.idx\ (index) using standard {\LaTeX} tools. Actual command-lines are given by settings - @{setting_ref ISABELLE_PDFLATEX}, @{setting_ref ISABELLE_LUALATEX}, + @{setting_ref ISABELLE_LUALATEX} (or @{setting_ref ISABELLE_PDFLATEX}), @{setting_ref ISABELLE_BIBTEX}, @{setting_ref ISABELLE_MAKEINDEX}: these variables are used without quoting in shell scripts, and thus may contain additional options. - Alternatively, the session \<^verbatim>\ROOT\ may include an option - \<^verbatim>\document_build=build\ together with an executable \<^verbatim>\build\ script in - \isakeyword{document\_files}: it is invoked with command-line arguments for - the document format (\<^verbatim>\pdf\) and the document variant name. The script needs - to produce corresponding output files, e.g.\ \<^verbatim>\root.pdf\ for default - document variants. + The system option @{system_option_def "document_build"} specifies an + alternative build engine, e.g. within the session \<^verbatim>\ROOT\ file as + ``\<^verbatim>\options [document_build = pdflatex]\''. The following standard engines + are available: + + \<^item> \<^verbatim>\lualatex\ (default) uses the shell command \<^verbatim>\$ISABELLE_LUALATEX\ on + the main \<^verbatim>\root.tex\ file, with further runs of \<^verbatim>\$ISABELLE_BIBTEX\ and + \<^verbatim>\$ISABELLE_MAKEINDEX\ as required. + + \<^item> \<^verbatim>\pdflatex\ uses \<^verbatim>\$ISABELLE_PDFLATEX\ instead of \<^verbatim>\$ISABELLE_LUALATEX\, + and the other tools as above. + + \<^item> \<^verbatim>\build\ invokes an executable script of the same name in a private + directory containing all \isakeyword{document\_files} and other generated + document sources. The script is invoked as ``\<^verbatim>\./build pdf\~\name\'' for + the document variant name; it needs to produce a corresponding + \name\\<^verbatim>\.pdf\ file by arbitrary means on its own. + + Further engines can be defined by add-on components in Isabelle/Scala + (\secref{sec:scala-build}), providing a service class derived from + \<^scala_type>\isabelle.Document_Build.Engine\. Available classes are listed + in \<^scala>\isabelle.Document_Build.engines\. \ diff -r 9e9a308562da -r 0ab2ed1489eb src/Doc/System/Sessions.thy --- a/src/Doc/System/Sessions.thy Fri Dec 03 13:32:58 2021 +0100 +++ b/src/Doc/System/Sessions.thy Fri Dec 03 15:11:16 2021 +0100 @@ -212,6 +212,9 @@ default configuration with output readily available to the author of the document. + \<^item> @{system_option_def "document_echo"} informs about document file names + during session presentation. + \<^item> @{system_option_def "document_variants"} specifies document variants as a colon-separated list of \name=tags\ entries. The default name \<^verbatim>\document\, without additional tags. @@ -239,10 +242,21 @@ is occasionally useful to control the global visibility of commands via session options (e.g.\ in \<^verbatim>\ROOT\). + \<^item> @{system_option_def "document_comment_latex"} enables regular {\LaTeX} + \<^verbatim>\comment.sty\, instead of the historic version for plain {\TeX} + (default). The latter is much faster, but in conflict with {\LaTeX} + classes like Dagstuhl + LIPIcs\<^footnote>\\<^url>\https://github.com/dagstuhl-publishing/styles\\. + \<^item> @{system_option_def "document_bibliography"} explicitly enables the use of \<^verbatim>\bibtex\; the default is to check the presence of \<^verbatim>\root.bib\, but it could have a different name. + \<^item> @{system_option_def "document_heading_prefix"} specifies a prefix for + the {\LaTeX} macro names generated from Isar commands like \<^theory_text>\chapter\, + \<^theory_text>\section\ etc. The default is \<^verbatim>\isamarkup\, e.g. \<^theory_text>\section\ becomes + \<^verbatim>\\isamarkupsection\. + \<^item> @{system_option_def "threads"} determines the number of worker threads for parallel checking of theories and proofs. The default \0\ means that a sensible maximum value is determined by the underlying hardware. For