diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index b6727ef..5e168ae 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -2,6 +2,11 @@ Changelog for Writer2LaTeX version 1.2 -> 1.4 ---------- version 1.3.2 alpha ---------- +[w2l] Two or more span elements in a row which generates identical formatting in LaTeX are now merged. + This avoids constructs like \textbf{this is }\textbf{bold}. + +[w2l] Optimization: The SimpleDomBuilder now merges text nodes + [w2l] Replace usage of StringBuffer with StringBuilder everywhere (marginal optimization) [w2l] The standard configurations pdfprint.xml and pdfscreen.xml no longer requires ooomath.sty @@ -9,7 +14,7 @@ Changelog for Writer2LaTeX version 1.2 -> 1.4 [w2l] A bookmark in a heading no longer results in an optional argument to \section commands [w2l] New option display_hidden_text (default false) to toggle whether or not hidden text should be included in - the export (there is currently no user interface for this option) + the export. In the export filter, this option can be toggled in the export options dialog. [w2l] Bugfix (StarMath conversion): The five colors red, green, blue, magenta and yellow is now exported to the correct dark colors rather than the previous bright colors (the colors white, black and yellow are unchanged) @@ -31,6 +36,7 @@ Changelog for Writer2LaTeX version 1.2 -> 1.4 Other vector images are converted to SVG (filter only). This only works with recent versions of the office (LO 4.2 and AOO 4.1 are known to work). The option use_svg has been renamed to inline_svg. If set to true (default) inline SVG is used, if set to false, external SVG-files (img-elements) are used. + In the UI, this setting can be found on the options page Writer2xhtml - Content. [all] If an image image cannot be converted to an acceptable format, the optional alternative image will now be tried diff --git a/source/java/org/openoffice/da/comp/writer2latex/LaTeXOptionsDialog.java b/source/java/org/openoffice/da/comp/writer2latex/LaTeXOptionsDialog.java index c592a95..0d94da2 100644 --- a/source/java/org/openoffice/da/comp/writer2latex/LaTeXOptionsDialog.java +++ b/source/java/org/openoffice/da/comp/writer2latex/LaTeXOptionsDialog.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2010 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2010-12-14) + * Version 1.4 (2014-09-19) * */ @@ -104,6 +104,7 @@ public class LaTeXOptionsDialog extends OptionsDialogBase { // Special content loadListBoxOption(xProps,"Notes"); loadCheckBoxOption(xProps,"Metadata"); + loadCheckBoxOption(xProps,"DisplayHiddenText"); // Figures and tables loadCheckBoxOption(xProps,"OriginalImageSize"); @@ -175,6 +176,7 @@ public class LaTeXOptionsDialog extends OptionsDialogBase { // Special content saveListBoxOption(xProps, filterData, "Notes", "notes", NOTES_VALUES); saveCheckBoxOption(xProps, filterData, "Metadata", "metadata"); + saveCheckBoxOption(xProps, filterData, "DisplayHiddenText", "display_hidden_text"); // Figures and tables saveCheckBoxOption(xProps, filterData, "OriginalImageSize", "original_image_size"); @@ -300,6 +302,7 @@ public class LaTeXOptionsDialog extends OptionsDialogBase { setControlEnabled("NotesLabel",!isLocked("notes")); setControlEnabled("Notes",!isLocked("notes")); setControlEnabled("Metadata",!isLocked("metadata")); + setControlEnabled("DisplayHiddenText",!isLocked("display_hidden_text")); // Figures and tables setControlEnabled("OriginalImageSize",!isLocked("original_image_size")); diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java b/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java index 341afec..583cec8 100644 --- a/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java +++ b/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * -* Copyright: 2002-2012 by Henrik Just +* Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * -* Version 1.2 (2012-03-07) +* Version 1.4 (2014-09-19) * */ @@ -495,12 +495,14 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer listBoxFromConfig(dlg, "Formulas", "formulas", sFormulaValues, (short) 0); textFieldFromConfig(dlg, "EndnotesHeading", "endnotes_heading"); textFieldFromConfig(dlg, "FootnotesHeading", "footnotes_heading"); + checkBoxFromConfig(dlg, "InlineSvg", "inline_svg"); } @Override protected void getControls(DialogAccess dlg) { listBoxToConfig(dlg, "Formulas", "formulas", sFormulaValues); textFieldToConfig(dlg, "EndnotesHeading", "endnotes_heading"); textFieldToConfig(dlg, "FootnotesHeading", "footnotes_heading"); + checkBoxToConfig(dlg, "InlineSvg", "inline_svg"); } @Override protected boolean handleEvent(DialogAccess dlg, String sMethod) { diff --git a/source/java/writer2latex/api/ConverterFactory.java b/source/java/writer2latex/api/ConverterFactory.java index df37d2c..5e96db8 100644 --- a/source/java/writer2latex/api/ConverterFactory.java +++ b/source/java/writer2latex/api/ConverterFactory.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-09-16) + * Version 1.4 (2014-09-19) * */ @@ -33,7 +33,7 @@ public class ConverterFactory { // Version information private static final String VERSION = "1.3.2"; - private static final String DATE = "2014-09-16"; + private static final String DATE = "2014-09-19"; /** Return the Writer2LaTeX version in the form * (major version).(minor version).(patch level)
diff --git a/source/java/writer2latex/latex/ConverterPalette.java b/source/java/writer2latex/latex/ConverterPalette.java index d2d792b..47e6efa 100644 --- a/source/java/writer2latex/latex/ConverterPalette.java +++ b/source/java/writer2latex/latex/ConverterPalette.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-08-27) + * Version 1.4 (2014-09-19) * */ @@ -45,8 +45,7 @@ import writer2latex.office.MIMETypes; import writer2latex.office.StyleWithProperties; import writer2latex.office.XMLString; -/** - *

This class converts a Writer XML file to a LaTeX file<.

+/** This class converts a Writer XML file to a LaTeX file */ public final class ConverterPalette extends ConverterBase { @@ -98,7 +97,7 @@ public final class ConverterPalette extends ConverterBase { public void addGlobalOption(String sOption) { globalOptions.addValue(sOption); } - + // Accessor methods for helpers public I18n getI18n() { return i18n; } public ColorConverter getColorCv() { return colorCv; } diff --git a/source/java/writer2latex/latex/FieldConverter.java b/source/java/writer2latex/latex/FieldConverter.java index 70eb086..10bbaac 100644 --- a/source/java/writer2latex/latex/FieldConverter.java +++ b/source/java/writer2latex/latex/FieldConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-09-16) + * Version 1.4 (2014-09-18) * */ @@ -820,6 +820,16 @@ public class FieldConverter extends ConverterHelper { palette.getInlineCv().traversePCDATA(node,ldp,oc); } } + + /** Do we have any pending reference marks or bookmarks, that may be inserted in this context? + * + * @param oc the context to verify against + * @return true if there are pending marks + */ + public boolean hasPendingReferenceMarks(Context oc) { + return !oc.isInSection() && !oc.isInCaption() && !oc.isVerbatim() && + postponedReferenceMarks.size()+postponedBookmarks.size()>0; + } /**

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

@@ -870,7 +880,7 @@ public class FieldConverter extends ConverterHelper { } else { if (bUseHyperref) { - if (ofr.getTextContent(node).trim().equals(sHref)) { + if (OfficeReader.getTextContent(node).trim().equals(sHref)) { // The link text equals the url ldp.append("\\url{") .append(escapeHref(sHref,oc.isInFootnote())) diff --git a/source/java/writer2latex/latex/IndexConverter.java b/source/java/writer2latex/latex/IndexConverter.java index 37e28c4..6860546 100644 --- a/source/java/writer2latex/latex/IndexConverter.java +++ b/source/java/writer2latex/latex/IndexConverter.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2008 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.0 (2008-11-23) + * Version 1.4 (2014-09-18) * */ @@ -194,6 +194,16 @@ public class IndexConverter extends ConverterHelper { postponedIndexMarks.add(node); } } + + /** Do we have any pending index marks, that may be inserted in this context? + * + * @param oc the context to verify against + * @return true if there are pending index marks + */ + public boolean hasPendingIndexMarks(Context oc) { + return !oc.isInSection() && !oc.isInCaption() && !oc.isVerbatim() && + postponedIndexMarks.size()>0; + } public void flushIndexMarks(LaTeXDocumentPortion ldp, Context oc) { // We may still be in a context with no index marks diff --git a/source/java/writer2latex/latex/InlineConverter.java b/source/java/writer2latex/latex/InlineConverter.java index c36dbbc..6f083d4 100644 --- a/source/java/writer2latex/latex/InlineConverter.java +++ b/source/java/writer2latex/latex/InlineConverter.java @@ -20,12 +20,14 @@ * * All Rights Reserved. * - * Version 1.4 (2014-09-08) + * Version 1.4 (2014-09-19) * */ package writer2latex.latex; +import java.util.Vector; + import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -70,16 +72,30 @@ public class InlineConverter extends ConverterHelper { .append("}\\fi}").nl(); } } + + /** Handle several text:span elements + * + */ + private void handleTextSpans(Element[] nodes, LaTeXDocumentPortion ldp, Context oc) { + if (oc.isMathMode()) { + for (Element node : nodes) { + handleTextSpanMath(node, ldp, oc); + } + } + else { + handleTextSpanText(ldp, oc, nodes); + } + } /** Handle a text:span element */ public void handleTextSpan(Element node, LaTeXDocumentPortion ldp, Context oc) { if (oc.isMathMode()) { handleTextSpanMath(node, ldp, oc); } - else { handleTextSpanText(node, ldp, oc); } + else { handleTextSpanText(ldp, oc, node); } } private void handleTextSpanMath(Element node, LaTeXDocumentPortion ldp, Context oc) { - // TODO: Handle a selection of formatting attributes: color, supscript... + // TODO: Handle a selection of formatting attributes: color, superscript... String sStyleName = node.getAttribute(XMLString.TEXT_STYLE_NAME); StyleWithProperties style = ofr.getTextStyle(sStyleName); @@ -113,79 +129,86 @@ public class InlineConverter extends ConverterHelper { palette.getI18n().popSpecialTable(); } - private void handleTextSpanText(Element node, LaTeXDocumentPortion ldp, Context oc) { - String sStyleName = node.getAttribute(XMLString.TEXT_STYLE_NAME); - StyleWithProperties style = ofr.getTextStyle(sStyleName); - - // Check for hidden text - if (!bDisplayHiddenText && style!=null && "none".equals(style.getProperty(XMLString.TEXT_DISPLAY))) { - return; - } - - // Check for strict handling of styles - String sDisplayName = ofr.getTextStyles().getDisplayName(sStyleName); - if (config.otherStyles()!=LaTeXConfig.ACCEPT && !config.getTextStyleMap().contains(sDisplayName)) { - if (config.otherStyles()==LaTeXConfig.WARNING) { - System.err.println("Warning: Text with style "+sDisplayName+" was ignored"); - } - else if (config.otherStyles()==LaTeXConfig.ERROR) { - ldp.append("% Error in source document: Text with style ") - .append(palette.getI18n().convert(sDisplayName,false,oc.getLang())) - .append(" was ignored").nl(); - } - // Ignore this text: - return; - } - - boolean styled = true; - - // don't style it if a {foot|end}note is the only content - if (onlyNote(node) || OfficeReader.getCharacterCount(node)==0) { styled = false; } - - // Also don't style it if we're already within a verbatim environment - if (oc.isVerbatim()) { styled = false; } - - boolean bNoFootnotes = false; - - // Always push the font used - palette.getI18n().pushSpecialTable(palette.getCharSc().getFontName(ofr.getTextStyle(sStyleName))); - - // Apply the style - BeforeAfter ba = new BeforeAfter(); - Context ic = (Context) oc.clone(); - if (styled) { palette.getCharSc().applyTextStyle(sStyleName,ba,ic); } - - // Footnote problems: - // No footnotes in sub/superscript (will disappear) - // No multiparagraph footnotes embedded in text command (eg. \textbf{..}) - // Simple solution: styled text element is forbidden footnote area - if (styled && !ic.isInFootnote()) { bNoFootnotes = true; } - - // Temp solution: Ignore hard formatting in header/footer (name clash problem) - // only in package format. - if (ofr.isPackageFormat() && (style!=null && style.isAutomatic()) && ic.isInHeaderFooter()) { - styled = false; - } - - if (styled) { - if (bNoFootnotes) { ic.setNoFootnotes(true); } - ldp.append(ba.getBefore()); - } - - traverseInlineText(node,ldp,ic); - - if (styled) { - ldp.append(ba.getAfter()); - ic.setNoFootnotes(false); - if (!ic.isInFootnote()) { palette.getNoteCv().flushFootnotes(ldp,oc); } - } - - // Flush any pending index marks and reference marks - palette.getFieldCv().flushReferenceMarks(ldp,oc); - palette.getIndexCv().flushIndexMarks(ldp,oc); - - // finally pop the special table - palette.getI18n().popSpecialTable(); + // Handle several spans. + // If the converted formatting happens to be identical (e.g. \textbf{...}), the spans will be merged. + private void handleTextSpanText(LaTeXDocumentPortion ldp, Context oc, Element... nodes) { + // The current formatting + BeforeAfter baCurrent = new BeforeAfter(); + for (Element node : nodes) { + String sStyleName = node.getAttribute(XMLString.TEXT_STYLE_NAME); + StyleWithProperties style = ofr.getTextStyle(sStyleName); + + // First check for hidden text + if (bDisplayHiddenText || style==null || !"none".equals(style.getProperty(XMLString.TEXT_DISPLAY))) { + // Then check for strict handling of styles + String sDisplayName = ofr.getTextStyles().getDisplayName(sStyleName); + if (config.otherStyles()!=LaTeXConfig.ACCEPT && !config.getTextStyleMap().contains(sDisplayName)) { + if (config.otherStyles()==LaTeXConfig.WARNING) { + System.err.println("Warning: Text with style "+sDisplayName+" was ignored"); + } + else if (config.otherStyles()==LaTeXConfig.ERROR) { + ldp.append("% Error in source document: Text with style ") + .append(palette.getI18n().convert(sDisplayName,false,oc.getLang())) + .append(" was ignored").nl(); + } + } + else { + // We do want to convert this span :-) + + // Always push the font used + palette.getI18n().pushSpecialTable(palette.getCharSc().getFontName(ofr.getTextStyle(sStyleName))); + + // Apply the style + BeforeAfter ba = new BeforeAfter(); + Context ic = (Context) oc.clone(); + // Don't style it if + // - we're already within a verbatim environment + // - a {foot|end}note is the only content + // - there is no content + // - this is an automatic style in header/footer (name clash problem, only in package format) + if (!oc.isVerbatim() && !onlyNote(node) && OfficeReader.getCharacterCount(node)>0 + && !(ofr.isPackageFormat() && (style!=null && style.isAutomatic()) && oc.isInHeaderFooter())) { + palette.getCharSc().applyTextStyle(sStyleName,ba,ic); + } + + // Footnote problems: + // No footnotes in sub/superscript (will disappear) + // No multiparagraph footnotes embedded in text command (eg. \textbf{..}) + // Simple solution: styled text element is forbidden area for footnotes + if ((ba.getBefore().length()>0 || ba.getAfter().length()>0) && !ic.isInFootnote()) { + ic.setNoFootnotes(true); + } + + // Merge spans? If the formatting of this span differs from the previous span, we will close the + // previous span and start a new one + if (!ba.getBefore().equals(baCurrent.getBefore()) || !ba.getAfter().equals(baCurrent.getAfter())) { + ldp.append(baCurrent.getAfter()); + ldp.append(ba.getBefore()); + baCurrent = ba; + } + + traverseInlineText(node,ldp,ic); + + // In the special case of pending footnotes, index marks and reference marks, we will close the span now. + // Otherwise we will wait and see + if (palette.getNoteCv().hasPendingFootnotes(oc) + || palette.getIndexCv().hasPendingIndexMarks(oc) + || palette.getFieldCv().hasPendingReferenceMarks(oc)) { + ldp.append(baCurrent.getAfter()); + baCurrent = new BeforeAfter(); + } + + // Flush any pending footnotes, index marks and reference marks + if (!ic.isInFootnote()) { palette.getNoteCv().flushFootnotes(ldp,oc); } + palette.getFieldCv().flushReferenceMarks(ldp,oc); + palette.getIndexCv().flushIndexMarks(ldp,oc); + + // finally pop the special table + palette.getI18n().popSpecialTable(); + } + } + } + ldp.append(baCurrent.getAfter()); } public void traverseInlineText(Element node, LaTeXDocumentPortion ldp, Context oc) { @@ -257,122 +280,141 @@ public class InlineConverter extends ConverterHelper { ldp.append("$"); } - else { - handleTextSpan(child,ldp,oc); + else { + // Collect further spans + Vector spans = new Vector(); + + Node remember; + boolean bContinue = false; + do { + spans.add((Element)childNode); + remember = childNode; + childNode = childNode.getNextSibling(); + bContinue = false; + if (childNode!=null && childNode.getNodeType()==Node.ELEMENT_NODE && + childNode.getNodeName().equals(XMLString.TEXT_SPAN)) { + sStyleName = Misc.getAttribute(childNode,XMLString.TEXT_STYLE_NAME); + if (!"OOoLaTeX".equals(ofr.getTextStyles().getDisplayName(sStyleName))) + bContinue = true; + } + } while(bContinue); + childNode = remember; + + handleTextSpans(spans.toArray(new Element[spans.size()]),ldp,oc); } } else if (child.getNodeName().startsWith("draw:")) { - palette.getDrawCv().handleDrawElement(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_S)) { - if (config.ignoreDoubleSpaces()) { - ldp.append(" "); - } - else { - int count= Misc.getPosInteger(child.getAttribute(XMLString.TEXT_C),1); - //String sSpace = config.ignoreDoubleSpaces() ? " " : "\\ "; - for ( ; count > 0; count--) { ldp.append("\\ "); } - } - } - else if (sName.equals(XMLString.TEXT_TAB_STOP) || sName.equals(XMLString.TEXT_TAB)) { // text:tab in oasis - // tab stops are not supported by the converter, but the special usage - // of tab stops in header and footer can be emulated with \hfill - // TODO: Sometimes extra \hfill should be added at end of line - if (oc.isInHeaderFooter()) { ldp.append("\\hfill "); } - else { ldp.append(sTabstop); } - } - else if (sName.equals(XMLString.TEXT_LINE_BREAK)) { - if (!oc.isInHeaderFooter() && !config.ignoreHardLineBreaks()) { - ldp.append("\\newline").nl(); - } - else { ldp.append(" "); } - } - else if (sName.equals(XMLString.TEXT_A)) { - palette.getFieldCv().handleAnchor(child,ldp,oc); - } - else if (sName.equals(XMLString.OFFICE_ANNOTATION)) { - handleOfficeAnnotation(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_PAGE_NUMBER)) { - palette.getFieldCv().handlePageNumber(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_PAGE_COUNT)) { - palette.getFieldCv().handlePageCount(child,ldp,oc); - } - else if (oc.isInHeaderFooter()) { - if (sName.equals(XMLString.TEXT_CHAPTER)) { - handleChapterField(child,ldp,oc); - } - else if (sName.startsWith("text:")) { - traverseInlineText(child,ldp,oc); - } + palette.getDrawCv().handleDrawElement(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_S)) { + if (config.ignoreDoubleSpaces()) { + ldp.append(" "); } else { - // These tags are ignored in header and footer - if (sName.equals(XMLString.TEXT_FOOTNOTE)) { - palette.getNoteCv().handleFootnote(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_ENDNOTE)) { + int count= Misc.getPosInteger(child.getAttribute(XMLString.TEXT_C),1); + //String sSpace = config.ignoreDoubleSpaces() ? " " : "\\ "; + for ( ; count > 0; count--) { ldp.append("\\ "); } + } + } + else if (sName.equals(XMLString.TEXT_TAB_STOP) || sName.equals(XMLString.TEXT_TAB)) { // text:tab in oasis + // tab stops are not supported by the converter, but the special usage + // of tab stops in header and footer can be emulated with \hfill + // TODO: Sometimes extra \hfill should be added at end of line + if (oc.isInHeaderFooter()) { ldp.append("\\hfill "); } + else { ldp.append(sTabstop); } + } + else if (sName.equals(XMLString.TEXT_LINE_BREAK)) { + if (!oc.isInHeaderFooter() && !config.ignoreHardLineBreaks()) { + ldp.append("\\newline").nl(); + } + else { ldp.append(" "); } + } + else if (sName.equals(XMLString.TEXT_A)) { + palette.getFieldCv().handleAnchor(child,ldp,oc); + } + else if (sName.equals(XMLString.OFFICE_ANNOTATION)) { + handleOfficeAnnotation(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_PAGE_NUMBER)) { + palette.getFieldCv().handlePageNumber(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_PAGE_COUNT)) { + palette.getFieldCv().handlePageCount(child,ldp,oc); + } + else if (oc.isInHeaderFooter()) { + if (sName.equals(XMLString.TEXT_CHAPTER)) { + handleChapterField(child,ldp,oc); + } + else if (sName.startsWith("text:")) { + traverseInlineText(child,ldp,oc); + } + } + else { + // These tags are ignored in header and footer + if (sName.equals(XMLString.TEXT_FOOTNOTE)) { + palette.getNoteCv().handleFootnote(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_ENDNOTE)) { + palette.getNoteCv().handleEndnote(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_NOTE)) { + if ("endnote".equals(child.getAttribute(XMLString.TEXT_NOTE_CLASS))) { palette.getNoteCv().handleEndnote(child,ldp,oc); } - else if (sName.equals(XMLString.TEXT_NOTE)) { - if ("endnote".equals(child.getAttribute(XMLString.TEXT_NOTE_CLASS))) { - palette.getNoteCv().handleEndnote(child,ldp,oc); - } - else { - palette.getNoteCv().handleFootnote(child,ldp,oc); - } - } - else if (sName.equals(XMLString.TEXT_SEQUENCE)) { - palette.getFieldCv().handleSequence(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_SEQUENCE_REF)) { - palette.getFieldCv().handleSequenceRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_FOOTNOTE_REF)) { - palette.getNoteCv().handleFootnoteRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_ENDNOTE_REF)) { - palette.getNoteCv().handleEndnoteRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_NOTE_REF)) { // oasis - palette.getNoteCv().handleNoteRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_REFERENCE_MARK)) { - palette.getFieldCv().handleReferenceMark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_REFERENCE_MARK_START)) { - palette.getFieldCv().handleReferenceMark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_REFERENCE_MARK_END)) { - palette.getFieldCv().handleReferenceMarkEnd(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_REFERENCE_REF)) { - palette.getFieldCv().handleReferenceRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_BOOKMARK)) { - palette.getFieldCv().handleBookmark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_BOOKMARK_START)) { - palette.getFieldCv().handleBookmark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_BOOKMARK_REF)) { - palette.getFieldCv().handleBookmarkRef(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_BIBLIOGRAPHY_MARK)) { - palette.getBibCv().handleBibliographyMark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_ALPHABETICAL_INDEX_MARK)) { - palette.getIndexCv().handleAlphabeticalIndexMark(child,ldp,oc); - } - else if (sName.equals(XMLString.TEXT_ALPHABETICAL_INDEX_MARK_START)) { - palette.getIndexCv().handleAlphabeticalIndexMark(child,ldp,oc); - } - else if (sName.startsWith("text:")) { - traverseInlineText(child,ldp,oc); + else { + palette.getNoteCv().handleFootnote(child,ldp,oc); } } - break; + else if (sName.equals(XMLString.TEXT_SEQUENCE)) { + palette.getFieldCv().handleSequence(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_SEQUENCE_REF)) { + palette.getFieldCv().handleSequenceRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_FOOTNOTE_REF)) { + palette.getNoteCv().handleFootnoteRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_ENDNOTE_REF)) { + palette.getNoteCv().handleEndnoteRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_NOTE_REF)) { // oasis + palette.getNoteCv().handleNoteRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_REFERENCE_MARK)) { + palette.getFieldCv().handleReferenceMark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_REFERENCE_MARK_START)) { + palette.getFieldCv().handleReferenceMark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_REFERENCE_MARK_END)) { + palette.getFieldCv().handleReferenceMarkEnd(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_REFERENCE_REF)) { + palette.getFieldCv().handleReferenceRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_BOOKMARK)) { + palette.getFieldCv().handleBookmark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_BOOKMARK_START)) { + palette.getFieldCv().handleBookmark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_BOOKMARK_REF)) { + palette.getFieldCv().handleBookmarkRef(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_BIBLIOGRAPHY_MARK)) { + palette.getBibCv().handleBibliographyMark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_ALPHABETICAL_INDEX_MARK)) { + palette.getIndexCv().handleAlphabeticalIndexMark(child,ldp,oc); + } + else if (sName.equals(XMLString.TEXT_ALPHABETICAL_INDEX_MARK_START)) { + palette.getIndexCv().handleAlphabeticalIndexMark(child,ldp,oc); + } + else if (sName.startsWith("text:")) { + traverseInlineText(child,ldp,oc); + } + } + break; default: // Do nothing } @@ -627,7 +669,7 @@ public class InlineConverter extends ConverterHelper { } if (date!=null) { ldp.append("%") - .append(Misc.formatDate(ofr.getTextContent(date), palette.getI18n().getDefaultLanguage(), null)) + .append(Misc.formatDate(OfficeReader.getTextContent(date), palette.getI18n().getDefaultLanguage(), null)) .nl(); } return; @@ -670,7 +712,7 @@ public class InlineConverter extends ConverterHelper { if (date!=null) { if (creator!=null) ldp.append(", "); else if (!bFirst) ldp.append(" "); - ldp.append(Misc.formatDate(ofr.getTextContent(date), palette.getI18n().getDefaultLanguage(), null)); + ldp.append(Misc.formatDate(OfficeReader.getTextContent(date), palette.getI18n().getDefaultLanguage(), null)); } ldp.append("}"); diff --git a/source/java/writer2latex/latex/LaTeXDocumentPortion.java b/source/java/writer2latex/latex/LaTeXDocumentPortion.java index 4cd64a3..f8e944f 100644 --- a/source/java/writer2latex/latex/LaTeXDocumentPortion.java +++ b/source/java/writer2latex/latex/LaTeXDocumentPortion.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-09-16) + * Version 1.4 (2014-09-19) * */ @@ -81,6 +81,17 @@ public class LaTeXDocumentPortion { return this; } + /** Add an integer to the end of this portion + * + * @param n the integer to add + * @return a reference to this LaTeXDocumentPortion + */ + public LaTeXDocumentPortion append(int n){ + curText.append(n); + bEmpty = false; + return this; + } + /** Add a newline to the end of this portion * * @return a reference to this LaTeXDocumentPortion diff --git a/source/java/writer2latex/latex/NoteConverter.java b/source/java/writer2latex/latex/NoteConverter.java index 0d80e0c..efd5cf1 100644 --- a/source/java/writer2latex/latex/NoteConverter.java +++ b/source/java/writer2latex/latex/NoteConverter.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2012 by Henrik Just + * Copyright: 2002-2014 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2012-02-22) + * Version 1.4 (2014-09-18) * */ @@ -106,6 +106,15 @@ public class NoteConverter extends ConverterHelper { } } } + + /** Do we have any pending footnotes, that may be inserted in this context? + * + * @param oc the context to verify against + * @return true if there are pending footnotes + */ + public boolean hasPendingFootnotes(Context oc) { + return !oc.isNoFootnotes() && postponedFootnotes.size()>0; + } /** Flush the queue of postponed footnotes */ public void flushFootnotes(LaTeXDocumentPortion ldp, Context oc) { diff --git a/source/java/writer2latex/latex/PageStyleConverter.java b/source/java/writer2latex/latex/PageStyleConverter.java index 3bc2a88..893064b 100644 --- a/source/java/writer2latex/latex/PageStyleConverter.java +++ b/source/java/writer2latex/latex/PageStyleConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-08-27) + * Version 1.4 (2014-09-19 * */ @@ -277,7 +277,7 @@ public class PageStyleConverter extends StyleConverter { String sPageNumber = pageLayout.getProperty(XMLString.STYLE_FIRST_PAGE_NUMBER); if (sPageNumber!=null && !sPageNumber.equals("continue")) { ldp.append(" \\setcounter{page}{") - .append(Integer.toString(Misc.getPosInteger(sPageNumber,0))) + .append(Misc.getPosInteger(sPageNumber,0)) .append("}").nl(); } } diff --git a/source/java/writer2latex/latex/StarMathConverter.java b/source/java/writer2latex/latex/StarMathConverter.java index b5b7662..5ae2cf9 100644 --- a/source/java/writer2latex/latex/StarMathConverter.java +++ b/source/java/writer2latex/latex/StarMathConverter.java @@ -18,7 +18,7 @@ * * Copyright: 2002-2014 by Henrik Just * - * Version 1.4 (2014-09-16) + * Version 1.4 (2014-09-19) * * All Rights Reserved. */ @@ -843,7 +843,7 @@ public final class StarMathConverter implements writer2latex.api.StarMathConvert } } if (nMaxMatrixCols>10) { // The default for the matrix environment is at most 10 columns - decl.append("\\setcounter{MaxMatrixCols}{").append(Integer.toString(nMaxMatrixCols)).append("}").nl(); + decl.append("\\setcounter{MaxMatrixCols}{").append(nMaxMatrixCols).append("}").nl(); } } diff --git a/source/java/writer2latex/xhtml/Converter.java b/source/java/writer2latex/xhtml/Converter.java index f592a42..b7d4211 100644 --- a/source/java/writer2latex/xhtml/Converter.java +++ b/source/java/writer2latex/xhtml/Converter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.4 (2014-09-16) + * Version 1.4 (2014-09-18) * */ @@ -598,7 +598,7 @@ public class Converter extends ConverterBase { } if (date!=null) { if (buf.length()>0) { buf.append('\n'); } - buf.append(Misc.formatDate(ofr.getTextContent(date), l10n.getLocale().getLanguage(), l10n.getLocale().getCountry())); + buf.append(Misc.formatDate(OfficeReader.getTextContent(date), l10n.getLocale().getLanguage(), l10n.getLocale().getCountry())); } Node commentNode = htmlDOM.createComment(buf.toString()); hnode.appendChild(commentNode); diff --git a/source/oxt/writer2latex/Options.xcs b/source/oxt/writer2latex/Options.xcs index b068de9..206a767 100644 --- a/source/oxt/writer2latex/Options.xcs +++ b/source/oxt/writer2latex/Options.xcs @@ -39,6 +39,7 @@ + diff --git a/source/oxt/writer2latex/Options.xcu b/source/oxt/writer2latex/Options.xcu index 0515edc..844e325 100644 --- a/source/oxt/writer2latex/Options.xcu +++ b/source/oxt/writer2latex/Options.xcu @@ -53,6 +53,9 @@ true + + false + false diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_ca.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_ca.properties index c7fd9d9..50741b2 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_ca.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_ca.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Catal\u00e0 +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Opcions de LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Exporta 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Cancel\u00b7la +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_cs_CZ.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_cs_CZ.properties index 6739e8c..2784897 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_cs_CZ.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_cs_CZ.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Czech +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Mo\u017enosti pro LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Exportovat 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Zru\u0161it +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_da_DK.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_da_DK.properties index 369233c..136cade 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_da_DK.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_da_DK.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX-indstillinger (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Eksporter 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Afbryd +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Eksporter skjult tekst diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_de_DE.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_de_DE.properties index 17a8c9f..de29fea 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_de_DE.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_de_DE.properties @@ -1,111 +1,114 @@ -# Strings for Dialog Library W2LDialogs -0.LaTeXOptions.HelpText= -1.LaTeXOptions.Title=LaTeX Options (Writer2LaTeX) -2.LaTeXOptions.FixedLine1.HelpText= -3.LaTeXOptions.FixedLine1.Label= -4.LaTeXOptions.GeneralLabel.HelpText= -5.LaTeXOptions.GeneralLabel.Label=Allgemein -6.LaTeXOptions.ConfigLabel.HelpText= -7.LaTeXOptions.ConfigLabel.Label=LaTeX Format -8.LaTeXOptions.Config.HelpText= -15.LaTeXOptions.BackendLabel.HelpText= -16.LaTeXOptions.BackendLabel.Label=Backend -17.LaTeXOptions.Backend.HelpText= -22.LaTeXOptions.InputencodingLabel.HelpText= -23.LaTeXOptions.InputencodingLabel.Label=Encoding -24.LaTeXOptions.Inputencoding.HelpText= -33.LaTeXOptions.Multilingual.HelpText= -34.LaTeXOptions.Multilingual.Label=Unterst\u00fctzung f\u00fcr Mehrsprachigkeit -35.LaTeXOptions.GreekMath.HelpText= -36.LaTeXOptions.GreekMath.Label=Benutze griechische Buchstaben als Symbole -37.LaTeXOptions.AdditionalSymbols.HelpText= -38.LaTeXOptions.AdditionalSymbols.Label=Unterst\u00fctze weitere Symbole -39.LaTeXOptions.BibliographyLabel.HelpText= -40.LaTeXOptions.BibliographyLabel.Label=Literaturverzeichnis -41.LaTeXOptions.UseBibtex.HelpText= -42.LaTeXOptions.UseBibtex.Label=Benutze BibTeX f\u00fcr das Literaturverzeichnis -43.LaTeXOptions.BibtexStyleLabel.HelpText= -44.LaTeXOptions.BibtexStyleLabel.Label=BibTeX Stil -45.LaTeXOptions.BibtexStyle.HelpText= -46.BibtexStyle.StringItemList=plain -47.BibtexStyle.StringItemList=unsrt -48.BibtexStyle.StringItemList=alpha -49.BibtexStyle.StringItemList=abbrv -50.LaTeXOptions.BibtexStyle.Text= -51.LaTeXOptions.FilesLabel.HelpText= -52.LaTeXOptions.FilesLabel.Label=Dateien -53.LaTeXOptions.WrapLines.HelpText= -54.LaTeXOptions.WrapLines.Label=Umbruch von langen Zeilen -55.LaTeXOptions.WrapLinesAfterLabel.HelpText= -56.LaTeXOptions.WrapLinesAfterLabel.Label=nach Buchstaben -57.LaTeXOptions.WrapLinesAfter.HelpText= -58.LaTeXOptions.SplitLinkedSections.HelpText= -59.LaTeXOptions.SplitLinkedSections.Label=Teilung des Dokumentes in verlinkte Bereiche -60.LaTeXOptions.SplitToplevelSections.HelpText= -61.LaTeXOptions.SplitToplevelSections.Label=Teile das Dokument in Hauptbereiche -62.LaTeXOptions.SaveImagesInSubdir.HelpText= -63.LaTeXOptions.SaveImagesInSubdir.Label=Speichere Bilder in einem Unterverzeichnis -64.LaTeXOptions.SpecialContentLabel.HelpText= -65.LaTeXOptions.SpecialContentLabel.Label=Erweiterte Einstellungen -66.LaTeXOptions.NotesLabel.HelpText= -67.LaTeXOptions.NotesLabel.Label=Bemerkungen -68.LaTeXOptions.Notes.HelpText= -73.LaTeXOptions.Metadata.HelpText= -74.LaTeXOptions.Metadata.Label=Exportiere Dokumenteigenschaften (Metadata) -75.LaTeXOptions.FiguresAndTablesLabel.HelpText= -76.LaTeXOptions.FiguresAndTablesLabel.Label=Abbildungen und Tabellen -77.LaTeXOptions.OriginalImageSize.HelpText= -78.LaTeXOptions.OriginalImageSize.Label=Verwende originale Bildgr\u00f6\u00dfe -79.LaTeXOptions.OptimizeSimpleTables.HelpText= -80.LaTeXOptions.OptimizeSimpleTables.Label=Optimiere einfache Tabellen -81.LaTeXOptions.SimpleTableLimitLabel.HelpText= -82.LaTeXOptions.SimpleTableLimitLabel.Label=Maximale Breite in Buchstaben -83.LaTeXOptions.SimpleTableLimit.HelpText= -84.LaTeXOptions.FloatTables.HelpText= -85.LaTeXOptions.FloatTables.Label=Float Tabellen -86.LaTeXOptions.FloatFigures.HelpText= -87.LaTeXOptions.FloatFigures.Label=Float Abbildungen -88.LaTeXOptions.FloatOptionsLabel.HelpText= -89.LaTeXOptions.FloatOptionsLabel.Label=Float Ausrichtung -90.LaTeXOptions.FloatOptions.HelpText= -96.LaTeXOptions.AutoCorrectLabel.HelpText= -97.LaTeXOptions.AutoCorrectLabel.Label=Automatische Korrektur -98.LaTeXOptions.IgnoreHardPageBreaks.HelpText= -99.LaTeXOptions.IgnoreHardPageBreaks.Label=Ignoriere harte Seitenumbr\u00fcche -100.LaTeXOptions.IgnoreHardLineBreaks.HelpText= -101.LaTeXOptions.IgnoreHardLineBreaks.Label=Ignoriere harte Zeilenumbr\u00fcche -102.LaTeXOptions.IgnoreEmptyParagraphs.HelpText= -103.LaTeXOptions.IgnoreEmptyParagraphs.Label=Ignoriere leere Abschnitte -104.LaTeXOptions.IgnoreDoubleSpaces.HelpText= -105.LaTeXOptions.IgnoreDoubleSpaces.Label=Ignoriere doppelte Leerzeichen -106.LaTeXOptions.ExportButton.HelpText= -107.LaTeXOptions.ExportButton.Label=Export -108.LaTeXOptions.CancelButton.HelpText= -109.LaTeXOptions.CancelButton.Label=Cancel -137.Config.StringItemList=Sehr aufger\u00e4umter Artikel -138.Config.StringItemList=Aufger\u00e4umter Artikel -139.Config.StringItemList=Voreinstellung -140.Config.StringItemList=Druck optimiert -141.Config.StringItemList=Monitor optimiert (pdf) -142.Config.StringItemList=Angepasst -116.Backend.StringItemList=generisch -117.Backend.StringItemList=Pdf (pdfTeX) -118.Backend.StringItemList=Postscript (dvips) -119.Backend.StringItemList=unspezifisch -120.Inputencoding.StringItemList=US ASCII -121.Inputencoding.StringItemList=Westeurop\u00e4isch (ISO 8859-1) -122.Inputencoding.StringItemList=Osteurop\u00e4isch (ISO 8859-2) -123.Inputencoding.StringItemList=Lateinisch/Griechisch (ISO 8859-7) -124.Inputencoding.StringItemList=Microsoft Osteurop\u00e4isch (Cp1250) -125.Inputencoding.StringItemList=Microsoft Cyrillic (Cp1251) -126.Inputencoding.StringItemList=Russisch (koi8-r) -127.Inputencoding.StringItemList=Unicode (UTF8) -128.Notes.StringItemList=Nicht exportieren -129.Notes.StringItemList=Als Kommentare exportieren -130.Notes.StringItemList=Als Randnotizen exportieren -131.Notes.StringItemList=Als pdf Bemerkungen exportieren -132.FloatOptions.StringItemList=Anfang oder Ende der Seite -133.FloatOptions.StringItemList=Anfang der Seite -134.FloatOptions.StringItemList=Ende der Seite -135.FloatOptions.StringItemList=Hier oder Anfang der Seite -136.FloatOptions.StringItemList=Hier oder Ende der Seite +# Strings for Dialog Library W2LDialogs +0.LaTeXOptions.HelpText= +1.LaTeXOptions.Title=LaTeX Options (Writer2LaTeX) +2.LaTeXOptions.FixedLine1.HelpText= +3.LaTeXOptions.FixedLine1.Label= +4.LaTeXOptions.GeneralLabel.HelpText= +5.LaTeXOptions.GeneralLabel.Label=Allgemein +6.LaTeXOptions.ConfigLabel.HelpText= +7.LaTeXOptions.ConfigLabel.Label=LaTeX Format +8.LaTeXOptions.Config.HelpText= +15.LaTeXOptions.BackendLabel.HelpText= +16.LaTeXOptions.BackendLabel.Label=Backend +17.LaTeXOptions.Backend.HelpText= +22.LaTeXOptions.InputencodingLabel.HelpText= +23.LaTeXOptions.InputencodingLabel.Label=Encoding +24.LaTeXOptions.Inputencoding.HelpText= +33.LaTeXOptions.Multilingual.HelpText= +34.LaTeXOptions.Multilingual.Label=Unterst\u00fctzung f\u00fcr Mehrsprachigkeit +35.LaTeXOptions.GreekMath.HelpText= +36.LaTeXOptions.GreekMath.Label=Benutze griechische Buchstaben als Symbole +37.LaTeXOptions.AdditionalSymbols.HelpText= +38.LaTeXOptions.AdditionalSymbols.Label=Unterst\u00fctze weitere Symbole +39.LaTeXOptions.BibliographyLabel.HelpText= +40.LaTeXOptions.BibliographyLabel.Label=Literaturverzeichnis +41.LaTeXOptions.UseBibtex.HelpText= +42.LaTeXOptions.UseBibtex.Label=Benutze BibTeX f\u00fcr das Literaturverzeichnis +43.LaTeXOptions.BibtexStyleLabel.HelpText= +44.LaTeXOptions.BibtexStyleLabel.Label=BibTeX Stil +45.LaTeXOptions.BibtexStyle.HelpText= +46.BibtexStyle.StringItemList=plain +47.BibtexStyle.StringItemList=unsrt +48.BibtexStyle.StringItemList=alpha +49.BibtexStyle.StringItemList=abbrv +50.LaTeXOptions.BibtexStyle.Text= +51.LaTeXOptions.FilesLabel.HelpText= +52.LaTeXOptions.FilesLabel.Label=Dateien +53.LaTeXOptions.WrapLines.HelpText= +54.LaTeXOptions.WrapLines.Label=Umbruch von langen Zeilen +55.LaTeXOptions.WrapLinesAfterLabel.HelpText= +56.LaTeXOptions.WrapLinesAfterLabel.Label=nach Buchstaben +57.LaTeXOptions.WrapLinesAfter.HelpText= +58.LaTeXOptions.SplitLinkedSections.HelpText= +59.LaTeXOptions.SplitLinkedSections.Label=Teilung des Dokumentes in verlinkte Bereiche +60.LaTeXOptions.SplitToplevelSections.HelpText= +61.LaTeXOptions.SplitToplevelSections.Label=Teile das Dokument in Hauptbereiche +62.LaTeXOptions.SaveImagesInSubdir.HelpText= +63.LaTeXOptions.SaveImagesInSubdir.Label=Speichere Bilder in einem Unterverzeichnis +64.LaTeXOptions.SpecialContentLabel.HelpText= +65.LaTeXOptions.SpecialContentLabel.Label=Erweiterte Einstellungen +66.LaTeXOptions.NotesLabel.HelpText= +67.LaTeXOptions.NotesLabel.Label=Bemerkungen +68.LaTeXOptions.Notes.HelpText= +73.LaTeXOptions.Metadata.HelpText= +74.LaTeXOptions.Metadata.Label=Exportiere Dokumenteigenschaften (Metadata) +75.LaTeXOptions.FiguresAndTablesLabel.HelpText= +76.LaTeXOptions.FiguresAndTablesLabel.Label=Abbildungen und Tabellen +77.LaTeXOptions.OriginalImageSize.HelpText= +78.LaTeXOptions.OriginalImageSize.Label=Verwende originale Bildgr\u00f6\u00dfe +79.LaTeXOptions.OptimizeSimpleTables.HelpText= +80.LaTeXOptions.OptimizeSimpleTables.Label=Optimiere einfache Tabellen +81.LaTeXOptions.SimpleTableLimitLabel.HelpText= +82.LaTeXOptions.SimpleTableLimitLabel.Label=Maximale Breite in Buchstaben +83.LaTeXOptions.SimpleTableLimit.HelpText= +84.LaTeXOptions.FloatTables.HelpText= +85.LaTeXOptions.FloatTables.Label=Float Tabellen +86.LaTeXOptions.FloatFigures.HelpText= +87.LaTeXOptions.FloatFigures.Label=Float Abbildungen +88.LaTeXOptions.FloatOptionsLabel.HelpText= +89.LaTeXOptions.FloatOptionsLabel.Label=Float Ausrichtung +90.LaTeXOptions.FloatOptions.HelpText= +96.LaTeXOptions.AutoCorrectLabel.HelpText= +97.LaTeXOptions.AutoCorrectLabel.Label=Automatische Korrektur +98.LaTeXOptions.IgnoreHardPageBreaks.HelpText= +99.LaTeXOptions.IgnoreHardPageBreaks.Label=Ignoriere harte Seitenumbr\u00fcche +100.LaTeXOptions.IgnoreHardLineBreaks.HelpText= +101.LaTeXOptions.IgnoreHardLineBreaks.Label=Ignoriere harte Zeilenumbr\u00fcche +102.LaTeXOptions.IgnoreEmptyParagraphs.HelpText= +103.LaTeXOptions.IgnoreEmptyParagraphs.Label=Ignoriere leere Abschnitte +104.LaTeXOptions.IgnoreDoubleSpaces.HelpText= +105.LaTeXOptions.IgnoreDoubleSpaces.Label=Ignoriere doppelte Leerzeichen +106.LaTeXOptions.ExportButton.HelpText= +107.LaTeXOptions.ExportButton.Label=Export +108.LaTeXOptions.CancelButton.HelpText= +109.LaTeXOptions.CancelButton.Label=Cancel +137.Config.StringItemList=Sehr aufger\u00e4umter Artikel +138.Config.StringItemList=Aufger\u00e4umter Artikel +139.Config.StringItemList=Voreinstellung +140.Config.StringItemList=Druck optimiert +141.Config.StringItemList=Monitor optimiert (pdf) +142.Config.StringItemList=Angepasst +116.Backend.StringItemList=generisch +117.Backend.StringItemList=Pdf (pdfTeX) +118.Backend.StringItemList=Postscript (dvips) +119.Backend.StringItemList=unspezifisch +120.Inputencoding.StringItemList=US ASCII +121.Inputencoding.StringItemList=Westeurop\u00e4isch (ISO 8859-1) +122.Inputencoding.StringItemList=Osteurop\u00e4isch (ISO 8859-2) +123.Inputencoding.StringItemList=Lateinisch/Griechisch (ISO 8859-7) +124.Inputencoding.StringItemList=Microsoft Osteurop\u00e4isch (Cp1250) +125.Inputencoding.StringItemList=Microsoft Cyrillic (Cp1251) +126.Inputencoding.StringItemList=Russisch (koi8-r) +127.Inputencoding.StringItemList=Unicode (UTF8) +128.Notes.StringItemList=Nicht exportieren +129.Notes.StringItemList=Als Kommentare exportieren +130.Notes.StringItemList=Als Randnotizen exportieren +131.Notes.StringItemList=Als pdf Bemerkungen exportieren +132.FloatOptions.StringItemList=Anfang oder Ende der Seite +133.FloatOptions.StringItemList=Anfang der Seite +134.FloatOptions.StringItemList=Ende der Seite +135.FloatOptions.StringItemList=Hier oder Anfang der Seite +136.FloatOptions.StringItemList=Hier oder Ende der Seite +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text + diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_en_US.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_en_US.properties index 054b2a6..2b96d07 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_en_US.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_en_US.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX Options (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Export 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Cancel +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_es_ES.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_es_ES.properties index 3524c56..fe1b7f1 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_es_ES.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_es_ES.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings= +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Opciones de LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,6 @@ 107.LaTeXOptions.ExportButton.Label=Exportar 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Cancelar +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text + diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fa_IR.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fa_IR.properties index c00f263..03b0177 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fa_IR.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fa_IR.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Farsi +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0644\u06cc\u062a\u06a9 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=\u0635\u0627\u062f\u0631 \u06a9\u0631\u062f\u0646 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=\u0627\u0646\u0635\u0631\u0627\u0641 +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fi_FI.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fi_FI.properties index e0ed328..3ca483a 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fi_FI.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fi_FI.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Your language +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX asetukset (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Vie 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Peruuta +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fr_FR.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fr_FR.properties index f87ff4b..b36431a 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_fr_FR.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_fr_FR.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings= +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Options LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Exporter 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Annuler +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_it_IT.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_it_IT.properties index c77931a..c26a040 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_it_IT.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_it_IT.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings for Italian +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Opzioni LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Esporta 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Annulla +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_nl_NL.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_nl_NL.properties index 201c5b6..f7c6832 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_nl_NL.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_nl_NL.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings in dutch +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX-opties (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Exporteren 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Annuleren +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_nn_NO.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_nn_NO.properties index 7e6d150..f44c1da 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_nn_NO.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_nn_NO.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Your language +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX-val (Writer2Latex) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Eksporter 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Avbryt +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_pl_PL.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_pl_PL.properties index 5697f6d..5729379 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_pl_PL.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_pl_PL.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Polish (Polski) +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Opcje LaTeXa (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Eksportuj 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Anuluj +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_pt_BR.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_pt_BR.properties index 8c80967..53eb253 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_pt_BR.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_pt_BR.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Brazilian Portugeuse +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=Op\u00e7\u00f5es LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=Exportar 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=Cancelar +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_ru_RU.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_ru_RU.properties index 71756e6..7b69334 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_ru_RU.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_ru_RU.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=(RUSSIAN) +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_tr_TR.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_tr_TR.properties index 334cbdb..0b970db 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_tr_TR.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_tr_TR.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=Your language +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=LaTeX Se\u00e7enekleri (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=\u0130hra\u00e7 et 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=\u0130ptal +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/DialogStrings_uk_UA.properties b/source/oxt/writer2latex/W2LDialogs/DialogStrings_uk_UA.properties index 9297508..d2a39ec 100644 --- a/source/oxt/writer2latex/W2LDialogs/DialogStrings_uk_UA.properties +++ b/source/oxt/writer2latex/W2LDialogs/DialogStrings_uk_UA.properties @@ -1,4 +1,4 @@ -# LaTeXOptions strings=(UKRAINIAN) +# Strings for Dialog Library W2LDialogs 0.LaTeXOptions.HelpText= 1.LaTeXOptions.Title=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 LaTeX (Writer2LaTeX) 2.LaTeXOptions.FixedLine1.HelpText= @@ -109,3 +109,5 @@ 107.LaTeXOptions.ExportButton.Label=\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 108.LaTeXOptions.CancelButton.HelpText= 109.LaTeXOptions.CancelButton.Label=\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438 +147.LaTeXOptions.DisplayHiddenText.HelpText= +148.LaTeXOptions.DisplayHiddenText.Label=Export hidden text diff --git a/source/oxt/writer2latex/W2LDialogs/LaTeXOptions.xdl b/source/oxt/writer2latex/W2LDialogs/LaTeXOptions.xdl index ee0730c..6a45fa3 100644 --- a/source/oxt/writer2latex/W2LDialogs/LaTeXOptions.xdl +++ b/source/oxt/writer2latex/W2LDialogs/LaTeXOptions.xdl @@ -5,7 +5,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -40,15 +40,15 @@ - - - + + + - + - + @@ -57,17 +57,17 @@ - + - - - - + + + + - + @@ -75,22 +75,22 @@ - - - - + + + + - - - + + + - + - - + + @@ -99,13 +99,14 @@ - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/export.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/export.xhp index 85a702d..cb97c50 100644 --- a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/export.xhp +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/export.xhp @@ -221,6 +221,12 @@ subject and keywords will be exported to the pdf document and will be viewable if the pdf viewer supports it. If the option is not checked, only the title will be exported. + + Display hidden text + Check this if you want to export text that is currently hidden in the document + If you check this option, Writer2LaTeX will export all text in the + document, even if it is currently hidden. + Figures and tables diff --git a/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl b/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl index 13a8c81..0920a82 100644 --- a/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl @@ -17,5 +17,7 @@ + + \ No newline at end of file diff --git a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/Configuration/Content.xhp b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/Configuration/Content.xhp index d342332..8d723af 100644 --- a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/Configuration/Content.xhp +++ b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/Configuration/Content.xhp @@ -18,7 +18,7 @@ Include as - Select how to export formulas if you are not using XHTML+MathML. + Select how to export formulas if you are not using XHTML+MathML or HTML5. Image with StarMath code: Export formulas as images @@ -51,5 +51,14 @@ If you want to add a heading for the footnotes in the exported document, enter the desired heading here. This has no effect if footnotes are placed at the bottom of the page. + + SVG images + + + + Embed SVG images in the HTML document + If you check this option, SVG images will be embedded directly + in the HTML document. Otherwise they will be included in a separate file. SVG images are only supported + in HTML5. \ No newline at end of file