phystool.latex

Module Contents

Classes

LogFileMessage

Helper class that stores log file messages.

BadBoxMessage

InfoMessage

WarningMessage

ErrorMessage

Latex3Message

LogMessageList

LatexLogParser

LatexLogParser parses a LaTeX log file to generate lists of errors, warnings, bad boxes and infos. Each message is stored as a LogFileMessage in the corresponding list.

PdfLatex

Functions

texfile_to_symlink

Data

logger

API

phystool.latex.logger

“getLogger(…)”

class phystool.latex.LogFileMessage(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: abc.ABC

Helper class that stores log file messages.

Initialization

PATTERN: Pattern

None

VERBOSE

False

classmethod toggle_verbose_mode() None
class phystool.latex.BadBoxMessage(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: phystool.latex.LogFileMessage

PATTERN

“compile(…)”

class phystool.latex.InfoMessage(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: phystool.latex.LogFileMessage

PATTERN

“compile(…)”

class phystool.latex.WarningMessage(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: phystool.latex.LogFileMessage

PATTERN

“compile(…)”

should_recompile: bool

None

class phystool.latex.ErrorMessage(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: phystool.latex.LogFileMessage

PATTERN

“compile(…)”

class phystool.latex.Latex3Message(match: Match[str], context: list[str], tex_file: pathlib.Path)

Bases: phystool.latex.LogFileMessage

PATTERN

“compile(…)”

class phystool.latex.LogMessageList(klass: type[phystool.latex.LogFileMessage])

Initialization

add(line: str, lines_iterable: phystool.helper.ContextIterator[str], tex_file: pathlib.Path) bool
display() None
stats() str
class phystool.latex.LatexLogParser(texfile: pathlib.Path, message_types: list[type[phystool.latex.LogFileMessage]] = [BadBoxMessage, InfoMessage, WarningMessage, ErrorMessage, Latex3Message])

LatexLogParser parses a LaTeX log file to generate lists of errors, warnings, bad boxes and infos. Each message is stored as a LogFileMessage in the corresponding list.

Relies on the fact that “texmf.cnf” has been configured so that filenames are written on single line (“max_print_line=1000”)

Paramètres:
  • texfile – LaTeX file for which the log should be parsed

  • message_types – selection of LogfileMessage to parse and display

Initialization

TEX_FILE_PATTERN

“compile(…)”

process() None

Parse each line of the logfile and check for LogFileMessage

should_recompile() bool

True if any WarningMessage is flagged as “should_recompile”

display() None
get_as_text() str
warning() phystool.latex.LogMessageList

helper function that only returns WarningMessage

error() phystool.latex.LogMessageList

helper function that only returns ErrorMessage

latex3() phystool.latex.LogMessageList

helper function that only returns Latex3Message

class phystool.latex.PdfLatex(fullname: pathlib.Path)

Initialization

classmethod output(as_string: str) pathlib.Path
classmethod compilation_command(fullname: pathlib.Path) list[str]
full_compile(dest: pathlib.Path | None, can_recompile: bool) None
compile(env: dict[str, str] | None = None) None
convert_pdf_to_png(dest_files: list[pathlib.Path] = [], cropped: bool = False) None
clean(extensions: list[str]) None
move_pdf(dest: pathlib.Path | None) None