Class FieldConverter

java.lang.Object
writer2latex.latex.ConverterHelper
writer2latex.latex.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 Details

  • Method Details

    • appendDeclarations

      public void appendDeclarations(LaTeXDocumentPortion pack, LaTeXDocumentPortion decl)

      Append declarations needed by the FieldConverter to the preamble.

      Overrides:
      appendDeclarations in class ConverterHelper
      Parameters:
      pack - the LaTeXDocumentPortion to which declarations of packages should be added (\\usepackage).
      decl - the LaTeXDocumentPortion to which other declarations should be added.
    • handleSequenceDecls

      public void handleSequenceDecls(Element node)

      Process sequence declarations

      Parameters:
      node - the text:sequence-decls node
    • 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
    • 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
    • handleReferenceMarkEnd

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

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

      Parameters:
      node - The element containing the reference mark
      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 or text:reference-mark-start 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
    • 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
    • hasPendingReferenceMarks

      public boolean hasPendingReferenceMarks(Context oc)
      Do we have any pending reference marks or bookmarks, that may be inserted in this context?
      Parameters:
      oc - the context to verify against
      Returns:
      true if there are pending marks
    • 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
    • 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
    • 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
    • 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