Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

LatexDocument

Namespace OfficeIMO.Latex
Assembly OfficeIMO.Latex
Modifiers sealed

Parsed LaTeX document with lossless syntax and bounded profile semantics.

Inheritance

  • Object
  • LatexDocument

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Methods

public LatexMacroExpansionResult ExpandSimpleMacros(String value) #
Returns: LatexMacroExpansionResult

Explicitly expands structurally safe simple definitions when enabled by parse options.

Parameters

value System.String requiredposition: 0
Load 2 overloads
public static LatexDocument Load(String path, LatexParseOptions options = null, Encoding encoding = null) #
Returns: LatexDocument

Loads decoded text using Unicode BOM detection when no encoding is specified.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
public static LatexDocument Load(Stream stream, LatexParseOptions options = null, Encoding encoding = null) #
Returns: LatexDocument

Loads and parses a LaTeX document from a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
LoadAsync 2 overloads
public static async Task<LatexDocument> LoadAsync(String path, LatexParseOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task<LatexDocument>

Asynchronously loads and parses a LaTeX file.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
public static async Task<LatexDocument> LoadAsync(Stream stream, LatexParseOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task<LatexDocument>

Asynchronously loads and parses a LaTeX document from a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
LoadResult 2 overloads
public static LatexParseResult LoadResult(String path, LatexParseOptions options = null, Encoding encoding = null) #
Returns: LatexParseResult

Loads decoded text with syntax and recovery diagnostics using Unicode BOM detection when no encoding is specified.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
public static LatexParseResult LoadResult(Stream stream, LatexParseOptions options = null, Encoding encoding = null) #
Returns: LatexParseResult

Loads a LaTeX document from a caller-owned stream with syntax and recovery diagnostics.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
LoadResultAsync 2 overloads
public static async Task<LatexParseResult> LoadResultAsync(String path, LatexParseOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task<LatexParseResult>

Asynchronously loads a LaTeX file with syntax and recovery diagnostics.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
public static async Task<LatexParseResult> LoadResultAsync(Stream stream, LatexParseOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task<LatexParseResult>

Asynchronously loads a LaTeX stream with syntax and recovery diagnostics.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
Parse 2 overloads
public static LatexDocument Parse(String source, LatexParseOptions options = null) #
Returns: LatexDocument

Parses LaTeX source into the typed document model without executing it.

Parameters

source System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
public static LatexDocument Parse(String source, LatexParseOptions options, CancellationToken cancellationToken) #
Returns: LatexDocument

Parses LaTeX source into the typed model without executing it and cooperatively observes cancellation.

Parameters

source System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
ParseResult 2 overloads
public static LatexParseResult ParseResult(String source, LatexParseOptions options = null) #
Returns: LatexParseResult

Parses LaTeX source with syntax and recovery diagnostics without executing it.

Parameters

source System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions = null optionalposition: 1
public static LatexParseResult ParseResult(String source, LatexParseOptions options, CancellationToken cancellationToken) #
Returns: LatexParseResult

Parses LaTeX source with diagnostics and cooperatively observes cancellation.

Parameters

source System.String requiredposition: 0
options OfficeIMO.Latex.LatexParseOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
Save 2 overloads
public Void Save(String path, LatexWriterOptions options = null, Encoding encoding = null) #
Returns: Void

Saves the current document text to a file.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
public Void Save(Stream stream, LatexWriterOptions options = null, Encoding encoding = null) #
Returns: Void

Writes the current document text to a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
SaveAsync 2 overloads
public async Task SaveAsync(String path, LatexWriterOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task

Asynchronously saves the current document text to a file.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
public Task SaveAsync(Stream stream, LatexWriterOptions options = null, Encoding encoding = null, CancellationToken cancellationToken = default) #
Returns: Task

Asynchronously writes the current document text to a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 1
encoding System.Text.Encoding = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = default optionalposition: 3
public Byte[] ToBytes(LatexWriterOptions options = null, Encoding encoding = null) #
Returns: Byte[]

Encodes the current document text.

Parameters

options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 0
encoding System.Text.Encoding = null optionalposition: 1
ToLatex 2 overloads
public String ToLatex() #
Returns: String

Writes in preserve mode.

public String ToLatex(LatexWriterOptions options) #
Returns: String

Writes using explicit options.

Parameters

options OfficeIMO.Latex.LatexWriterOptions requiredposition: 0
public MemoryStream ToStream(LatexWriterOptions options = null, Encoding encoding = null) #
Returns: MemoryStream

Encodes the current document in a new writable memory stream positioned at the beginning.

Parameters

options OfficeIMO.Latex.LatexWriterOptions = null optionalposition: 0
encoding System.Text.Encoding = null optionalposition: 1

Properties

public LatexSourceText Source { get; } #

Original decoded source.

public LatexSyntaxTree SyntaxTree { get; } #

Lossless syntax tree.

public LatexDocumentProfile Profile { get; } #

Selected bounded profile.

public IReadOnlyList<LatexToken> Tokens { get; } #

All exact tokens.

public IReadOnlyList<LatexDiagnostic> Diagnostics { get; } #

Parser and recovery diagnostics.

public IReadOnlyList<LatexCommand> Commands { get; } #

Commands including unknown commands.

public IReadOnlyList<LatexEnvironment> Environments { get; } #

Nested environments.

public IReadOnlyList<LatexMath> Math { get; } #

Inline and display math regions.

public IReadOnlyList<LatexHeading> Headings { get; } #

Part/chapter/section headings.

public IReadOnlyList<LatexParagraph> Paragraphs { get; } #

Paragraph source regions in the document body.

public IReadOnlyList<LatexList> Lists { get; } #

Itemize, enumerate, and description lists.

public IReadOnlyList<LatexFigure> Figures { get; } #

Figure environments and included graphics.

public IReadOnlyList<LatexTable> Tables { get; } #

Tabular environments.

public IReadOnlyList<LatexCitation> Citations { get; } #

Citation commands.

public IReadOnlyList<LatexReference> References { get; } #

Cross-reference commands.

public IReadOnlyList<LatexLabel> Labels { get; } #

Label declarations.

public IReadOnlyList<LatexTheorem> Theorems { get; } #

Theorem-like environments.

public IReadOnlyList<LatexMacroDefinition> MacroDefinitions { get; } #

Document-local new/renew/provide command definitions.

public LatexCommand DocumentClassCommand { get; } #

Document class command, when present.

public LatexEnvironment Body { get; } #

Main document environment, when present.

public String DocumentClassName { get; } #

Document class name.

public Boolean IsRecognizedProfile { get; } #

True for article, report, or book documents with a document environment.

public Boolean IsModified { get; } #

True when an editable semantic region changed.