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)

Field Summary

Fields inherited from class writer2latex.latex.ConverterHelper

config, ofr, palette

Constructor Summary

FieldConverter(OfficeReader ofr, LaTeXConfig config, ConverterPalette palette)

Method Summary

void
addTarget(Element node, String sSuffix, LaTeXDocumentPortion ldp)
Add a \\hypertarget
void
addTarget(String sName, String sSuffix, LaTeXDocumentPortion ldp)
Add a \\hypertarget
void
appendDeclarations(LaTeXDocumentPortion pack, LaTeXDocumentPortion decl)
Append declarations needed by the FieldConverter to the preamble.
void
flushReferenceMarks(LaTeXDocumentPortion ldp, Context oc)
Process pending reference marks and bookmarks (which may have been postponed within sections, captions or verbatim text.
void
handleAnchor(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a hyperlink (text:a tag)
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

void
handleBookmarkRef(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a bookmark reference (text:bookmark-ref tag).
void
handlePageCount(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a page count field (text:page-count tag)
void
handlePageNumber(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a page number field (text:page-number tag)
void
handleReferenceMark(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a reference mark (text:reference-mark tag)
void
handleReferenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a reference (text:reference-ref tag)
void
handleSequence(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a sequence field (text:sequence tag)
void
handleSequenceDecls(Element node)
Process sequence declarations
void
handleSequenceLabel(Element node, LaTeXDocumentPortion ldp)
Create label for a sequence field (text:sequence tag)
void
handleSequenceRef(Element node, LaTeXDocumentPortion ldp, Context oc)
Process a sequence reference (text:sequence-ref tag)

Methods inherited from class writer2latex.latex.ConverterHelper

appendDeclarations

Constructor Details

FieldConverter

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

Method Details

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.
Overrides:
appendDeclarations in interface ConverterHelper
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