writer2latex.latex

Class FieldConverter

public class FieldConverter extends ConverterHelper

This class handles text fields and links in the document. Packages: lastpage, hyperref, titleref, oooref (all optional) TODO: Need proper treatment of "caption" and "text" for sequence references not to figures and tables (should be fairly rare, though)
Constructor Summary
FieldConverter(OfficeReader ofr, LaTeXConfig config, ConverterPalette palette)
Method Summary
voidaddTarget(Element node, String sSuffix, LaTeXDocumentPortion ldp)

Add a \\hypertarget

voidaddTarget(String sName, String sSuffix, LaTeXDocumentPortion ldp)

Add a \\hypertarget

voidappendDeclarations(LaTeXDocumentPortion pack, LaTeXDocumentPortion decl)

Append declarations needed by the FieldConverter to the preamble.

voidflushReferenceMarks(LaTeXDocumentPortion ldp, Context oc)

Process pending reference marks and bookmarks (which may have been postponed within sections, captions or verbatim text.

voidhandleAnchor(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a hyperlink (text:a tag)

voidhandleBookmark(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a bookmark (text:bookmark tag)

A bookmark may be the target for either a hyperlink or a reference, so this will generate a \\hyperref and/or a \\label

voidhandleBookmarkRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a bookmark reference (text:bookmark-ref tag).

voidhandlePageCount(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a page count field (text:page-count tag)

voidhandlePageNumber(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a page number field (text:page-number tag)

voidhandleReferenceMark(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a reference mark (text:reference-mark tag)

voidhandleReferenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a reference (text:reference-ref tag)

voidhandleSequence(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a sequence field (text:sequence tag)

voidhandleSequenceDecls(Element node)

Process sequence declarations

voidhandleSequenceLabel(Element node, LaTeXDocumentPortion ldp)

Create label for a sequence field (text:sequence tag)

voidhandleSequenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a sequence reference (text:sequence-ref tag)

Constructor Detail

FieldConverter

public FieldConverter(OfficeReader ofr, LaTeXConfig config, ConverterPalette palette)

Method Detail

addTarget

public void addTarget(Element node, String sSuffix, LaTeXDocumentPortion ldp)

Add a \\hypertarget

Parameters: node The element containing the name of the target sSuffix A suffix to be added to the target, e.g. "|table" for a reference to a table. ldp the LaTeXDocumentPortion to which LaTeX code should be added

addTarget

public void addTarget(String sName, String sSuffix, LaTeXDocumentPortion ldp)

Add a \\hypertarget

Parameters: sName The name of the target sSuffix A suffix to be added to the target, e.g. "|table" for a reference to a table. ldp the LaTeXDocumentPortion to which LaTeX code should be added

appendDeclarations

public void appendDeclarations(LaTeXDocumentPortion pack, LaTeXDocumentPortion decl)

Append declarations needed by the FieldConverter to the preamble.

Parameters: pack the LaTeXDocumentPortion to which declarations of packages should be added (\\usepackage). decl the LaTeXDocumentPortion to which other declarations should be added.

flushReferenceMarks

public void flushReferenceMarks(LaTeXDocumentPortion ldp, Context oc)

Process pending reference marks and bookmarks (which may have been postponed within sections, captions or verbatim text.

Parameters: ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleAnchor

public void handleAnchor(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a hyperlink (text:a tag)

Parameters: node The element containing the hyperlink ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleBookmark

public void handleBookmark(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a bookmark (text:bookmark tag)

A bookmark may be the target for either a hyperlink or a reference, so this will generate a \\hyperref and/or a \\label

Parameters: node The element containing the bookmark ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleBookmarkRef

public void handleBookmarkRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a bookmark reference (text:bookmark-ref tag).

Parameters: node The element containing the bookmark reference ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handlePageCount

public void handlePageCount(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a page count field (text:page-count tag)

Parameters: node The element containing the page count field ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handlePageNumber

public void handlePageNumber(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a page number field (text:page-number tag)

Parameters: node The element containing the page number field ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleReferenceMark

public void handleReferenceMark(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a reference mark (text:reference-mark tag)

Parameters: node The element containing the reference mark ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleReferenceRef

public void handleReferenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a reference (text:reference-ref tag)

Parameters: node The element containing the reference ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleSequence

public void handleSequence(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a sequence field (text:sequence tag)

Parameters: node The element containing the sequence field ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context

handleSequenceDecls

public void handleSequenceDecls(Element node)

Process sequence declarations

Parameters: node the text:sequence-decls node

handleSequenceLabel

public void handleSequenceLabel(Element node, LaTeXDocumentPortion ldp)

Create label for a sequence field (text:sequence tag)

Parameters: node The element containing the sequence field ldp the LaTeXDocumentPortion to which LaTeX code should be added

handleSequenceRef

public void handleSequenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)

Process a sequence reference (text:sequence-ref tag)

Parameters: node The element containing the sequence reference ldp the LaTeXDocumentPortion to which LaTeX code should be added oc the current context