From 86e0b8d6939e7369f61747a31f9c5cbb32a5e56e Mon Sep 17 00:00:00 2001 From: henrikjust Date: Mon, 17 May 2010 07:42:33 +0000 Subject: [PATCH] W2L help content, hiding postponed features, some bugfixes git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@64 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 19 +++ source/distro/doc/user-manual.odt | Bin 48399 -> 48392 bytes .../w2lcommon/filter/ExportFilterBase.java | 9 +- .../writer4latex/ConfigurationDialog.java | 20 +-- .../writer2latex/api/ConverterFactory.java | 4 +- source/java/writer2latex/epub/NCXWriter.java | 5 +- source/java/writer2latex/epub/OPFWriter.java | 8 +- .../java/writer2latex/office/ListCounter.java | 20 ++- source/java/writer2latex/util/Misc.java | 21 ++- source/java/writer2latex/xhtml/Converter.java | 11 +- .../writer2latex/xhtml/DrawConverter.java | 16 +- .../writer2latex/xhtml/ParStyleConverter.java | 12 +- .../xhtml/TableStyleConverter.java | 6 +- .../writer2latex/xhtml/TextConverter.java | 26 +++- .../java/writer2latex/xhtml/XhtmlConfig.java | 7 +- .../writer2latex/W2LDialogs2/Characters.xdl | 16 +- .../W2LDialogs2/Documentclass.xdl | 8 +- .../oxt/writer2latex/W2LDialogs2/Figures.xdl | 12 +- source/oxt/writer2latex/W2LDialogs2/Fonts.xdl | 18 +-- .../oxt/writer2latex/W2LDialogs2/Headings.xdl | 14 +- source/oxt/writer2latex/W2LDialogs2/Pages.xdl | 12 +- .../oxt/writer2latex/W2LDialogs2/Styles.xdl | 34 ++--- .../oxt/writer2latex/W2LDialogs2/Tables.xdl | 22 +-- .../writer2latex/W2LDialogs2/TextAndMath.xdl | 20 +-- source/oxt/writer2latex/help/en/help.tree | 12 ++ .../Configuration/Characters.xhp | 74 ++++++++++ .../Configuration/Documentclass.xhp | 39 +++++ .../Configuration/Figures.xhp | 54 +++++++ .../Configuration/Fonts.xhp | 51 +++++++ .../Configuration/Headings.xhp | 70 +++++++++ .../Configuration/Introduction.xhp | 24 +++ .../Configuration/Pages.xhp | 52 +++++++ .../Configuration/Styles.xhp | 137 ++++++++++++++++++ .../Configuration/Tables.xhp | 71 +++++++++ .../Configuration/Textandmath.xhp | 82 +++++++++++ .../export.xhp | 3 +- .../writer4latex/W4LDialogs/Configuration.xdl | 2 +- source/oxt/writer4latex/help/en/help.tree | 2 +- .../import.xhp | 4 +- .../introduction.xhp | 10 +- 40 files changed, 885 insertions(+), 142 deletions(-) create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Characters.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Documentclass.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Figures.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Fonts.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Headings.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Introduction.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Pages.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Styles.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Tables.xhp create mode 100644 source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Textandmath.xhp diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index acbf321..f85a85b 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -2,6 +2,25 @@ Changelog for Writer2LaTeX version 1.0 -> 1.2 ---------- version 1.1.3 ---------- +[w2l] Added help content for custom format + +[all] Filter: Fixed bug with filenames containing spaces and other special characters + +[w2x] EPUB bugfix: URL encode links to document parts in the .ncx and .opf files + +[w2x] EPUB export no longer generates a title page reference if there is no title page + +[w2x] Added (temporary) option zen_hack to support a special requirement from the ePub Zen Garden styles + (own style for number prefix. This should be replaced by a style map scheme later..) + +[w2x] Ignore linked images in EPUB export (EPUB files cannot reference external resources) + +[w2x] Added support for break-after and break-before + +[w2l] Features that were postponed to w2l 1.4 has been hidden from the UI + +[w4l] TeX import has been hidden from the UI (postponed to w2l 1.4) + [w2l] Now exports apostrophe, single and double quotes using ' and ` characters (this creates nicer looking LaTeX files and fixes a problem with hyphenation of words containing apostrophes) diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt index 4ac9d12a50282f085905099ffac4ceee65d4d11e..fd46f6a0e4c037148157850ce3cb9b2a4f537408 100644 GIT binary patch delta 40875 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 t?W;*e`@h7IxYR)+f2la7 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 diff --git a/source/java/org/openoffice/da/comp/w2lcommon/filter/ExportFilterBase.java b/source/java/org/openoffice/da/comp/w2lcommon/filter/ExportFilterBase.java index de7459f..74fcb70 100644 --- a/source/java/org/openoffice/da/comp/w2lcommon/filter/ExportFilterBase.java +++ b/source/java/org/openoffice/da/comp/w2lcommon/filter/ExportFilterBase.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2009 by Henrik Just + * Copyright: 2002-2010 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2009-09-06) + * Version 1.2 (2010-05-17) * */ @@ -54,6 +54,7 @@ import writer2latex.api.Converter; import writer2latex.api.ConverterFactory; import writer2latex.api.ConverterResult; import writer2latex.api.OutputFile; +import writer2latex.util.Misc; import java.util.Iterator; //import java.util.Enumeration; @@ -367,7 +368,7 @@ public abstract class ExportFilterBase implements ConverterResult dataOut = null; //try { - dataOut = converter.convert(xis,sName); + dataOut = converter.convert(xis,Misc.makeFileName(sName)); //} //catch (IOException e) { // Fail silently @@ -402,7 +403,7 @@ public abstract class ExportFilterBase implements // Additional documents are written directly using ucb // Get the file name and the (optional) directory name - String sFullFileName = docOut.getFileName(); + String sFullFileName = Misc.makeHref(docOut.getFileName()); String sDirName = ""; String sFileName = sFullFileName; int nSlash = sFileName.indexOf("/"); diff --git a/source/java/org/openoffice/da/comp/writer4latex/ConfigurationDialog.java b/source/java/org/openoffice/da/comp/writer4latex/ConfigurationDialog.java index b68f528..f6b9d33 100644 --- a/source/java/org/openoffice/da/comp/writer4latex/ConfigurationDialog.java +++ b/source/java/org/openoffice/da/comp/writer4latex/ConfigurationDialog.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-04-12) + * Version 1.2 (2010-05-13) * */ @@ -40,12 +40,8 @@ import com.sun.star.awt.XDialog; import com.sun.star.awt.XDialogProvider2; import com.sun.star.awt.XWindow; import com.sun.star.beans.XPropertySet; -import com.sun.star.lang.XComponent; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XServiceInfo; -import com.sun.star.ui.dialogs.ExecutableDialogResults; -import com.sun.star.ui.dialogs.XExecutableDialog; -import com.sun.star.ui.dialogs.XFilePicker; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; @@ -320,7 +316,7 @@ public final class ConfigurationDialog configureMikTeX(sMikTeXPath, ExternalApps.DVIPS, "dvips", "%s", info, true); configureMikTeX(sMikTeXPath, ExternalApps.BIBTEX, "bibtex", "%s", info, true); configureMikTeX(sMikTeXPath, ExternalApps.MAKEINDEX, "makeindex", "%s", info, true); - configureMikTeX(sMikTeXPath, ExternalApps.MK4HT, "mk4ht", "%c %s", info, true); + //configureMikTeX(sMikTeXPath, ExternalApps.MK4HT, "mk4ht", "%c %s", info, true); configureMikTeX(sMikTeXPath, ExternalApps.DVIVIEWER, "yap", "--single-instance %s", info, true); // MikTeX 2.8 provides texworks for pdf viewing bFoundTexworks = configureMikTeX(sMikTeXPath, ExternalApps.PDFVIEWER, "texworks", "%s", info, true); @@ -334,7 +330,7 @@ public final class ConfigurationDialog externalApps.setApplication(ExternalApps.DVIPS, "dvips", "%s"); externalApps.setApplication(ExternalApps.BIBTEX, "bibtex", "%s"); externalApps.setApplication(ExternalApps.MAKEINDEX, "makeindex", "%s"); - externalApps.setApplication(ExternalApps.MK4HT, "mk4ht", "%c %s"); + //externalApps.setApplication(ExternalApps.MK4HT, "mk4ht", "%c %s"); externalApps.setApplication(ExternalApps.DVIVIEWER, "yap", "--single-instance %s"); } info.append("\n"); @@ -368,7 +364,7 @@ public final class ConfigurationDialog configureApp(ExternalApps.DVIPS, "dvips", "%s",info); configureApp(ExternalApps.BIBTEX, "bibtex", "%s",info); configureApp(ExternalApps.MAKEINDEX, "makeindex", "%s",info); - configureApp(ExternalApps.MK4HT, "mk4ht", "%c %s",info); + //configureApp(ExternalApps.MK4HT, "mk4ht", "%c %s",info); // We have several possible viewers String[] sDviViewers = {"evince", "okular", "xdvi"}; configureApp(ExternalApps.DVIVIEWER, sDviViewers, "%s",info); @@ -398,10 +394,10 @@ public final class ConfigurationDialog case 3: return ExternalApps.DVIPS; case 4: return ExternalApps.BIBTEX; case 5: return ExternalApps.MAKEINDEX; - case 6: return ExternalApps.MK4HT; - case 7: return ExternalApps.DVIVIEWER; - case 8: return ExternalApps.PDFVIEWER; - case 9: return ExternalApps.POSTSCRIPTVIEWER; + //case 6: return ExternalApps.MK4HT; + case 6: return ExternalApps.DVIVIEWER; + case 7: return ExternalApps.PDFVIEWER; + case 8: return ExternalApps.POSTSCRIPTVIEWER; } return "???"; } diff --git a/source/java/writer2latex/api/ConverterFactory.java b/source/java/writer2latex/api/ConverterFactory.java index 79139cb..d2bf79e 100644 --- a/source/java/writer2latex/api/ConverterFactory.java +++ b/source/java/writer2latex/api/ConverterFactory.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-11) + * Version 1.2 (2010-05-17) * */ @@ -33,7 +33,7 @@ public class ConverterFactory { // Version information private static final String VERSION = "1.1.3"; - private static final String DATE = "2010-05-11"; + private static final String DATE = "2010-05-17"; /** Return the Writer2LaTeX version in the form * (major version).(minor version).(patch level)
diff --git a/source/java/writer2latex/epub/NCXWriter.java b/source/java/writer2latex/epub/NCXWriter.java index d1c6a19..f13634e 100644 --- a/source/java/writer2latex/epub/NCXWriter.java +++ b/source/java/writer2latex/epub/NCXWriter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * version 1.2 (2010-03-30) + * version 1.2 (2010-05-13) * */ @@ -39,6 +39,7 @@ import org.w3c.dom.Element; import writer2latex.api.ContentEntry; import writer2latex.api.ConverterResult; +import writer2latex.util.Misc; import writer2latex.xmerge.NewDOMDocument; /** This class creates the required NXC file for an EPUB document @@ -141,7 +142,7 @@ public class NCXWriter extends NewDOMDocument { Element navPointContent = contentDOM.createElement("content"); String sHref = entry.getFile().getFileName(); if (entry.getTarget()!=null) { sHref+="#"+entry.getTarget(); } - navPointContent.setAttribute("src", sHref); + navPointContent.setAttribute("src", Misc.makeHref(sHref)); navPoint.appendChild(navPointContent); nDepth = Math.max(nDepth, nCurrentLevel); diff --git a/source/java/writer2latex/epub/OPFWriter.java b/source/java/writer2latex/epub/OPFWriter.java index 8210409..0ed0ba6 100644 --- a/source/java/writer2latex/epub/OPFWriter.java +++ b/source/java/writer2latex/epub/OPFWriter.java @@ -20,14 +20,13 @@ * * All Rights Reserved. * - * version 1.2 (2010-03-29) + * version 1.2 (2010-05-13) * */ package writer2latex.epub; import java.util.Iterator; -import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -41,6 +40,7 @@ import org.w3c.dom.Element; import writer2latex.api.ContentEntry; import writer2latex.api.ConverterResult; import writer2latex.api.OutputFile; +import writer2latex.util.Misc; import writer2latex.xmerge.NewDOMDocument; /** This class writes an OPF-file for an EPUB document (see http://www.idpf.org/2007/opf/OPF_2.0_final_spec.html). @@ -105,7 +105,7 @@ public class OPFWriter extends NewDOMDocument { OutputFile file = iterator.next(); Element item = contentDOM.createElement("item"); manifest.appendChild(item); - item.setAttribute("href",file.getFileName()); + item.setAttribute("href",Misc.makeHref(file.getFileName())); item.setAttribute("media-type", file.getMIMEType()); if (file.isMasterDocument()) { String sId = "text"+(++nMasterCount); @@ -147,7 +147,7 @@ public class OPFWriter extends NewDOMDocument { reference.setAttribute("title", entry.getTitle()); String sHref = entry.getFile().getFileName(); if (entry.getTarget()!=null) { sHref+="#"+entry.getTarget(); } - reference.setAttribute("href", sHref); + reference.setAttribute("href", Misc.makeHref(sHref)); guide.appendChild(reference); } } diff --git a/source/java/writer2latex/office/ListCounter.java b/source/java/writer2latex/office/ListCounter.java index be4b06d..6c18452 100644 --- a/source/java/writer2latex/office/ListCounter.java +++ b/source/java/writer2latex/office/ListCounter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-04) + * Version 1.2 (2010-05-13) * */ @@ -99,15 +99,25 @@ public class ListCounter { } public String getLabel() { + return getPrefix()+getLabelAndSuffix(); + } + + public String getPrefix() { if (style.isNumber(nLevel)) { + String sPrefix = style.getLevelProperty(nLevel,XMLString.STYLE_NUM_PREFIX); + return sPrefix!=null ? sPrefix : ""; + } + return ""; + } + + public String getLabelAndSuffix() { + if (style.isNumber(nLevel)) { + String sLabel=""; if (sNumFormat[nLevel]==null) return ""; int nLevels = Misc.getPosInteger(style.getLevelProperty(nLevel, XMLString.TEXT_DISPLAY_LEVELS),1); - String sPrefix = style.getLevelProperty(nLevel,XMLString.STYLE_NUM_PREFIX); String sSuffix = style.getLevelProperty(nLevel,XMLString.STYLE_NUM_SUFFIX); String sSpace = "nothing".equals(style.getLevelStyleProperty(nLevel, XMLString.TEXT_LABEL_FOLLOWED_BY)) ? "" : " "; - String sLabel=""; - if (sPrefix!=null) { sLabel+=sPrefix; } for (int j=nLevel-nLevels+1; jRead an InputStream into a bytearray

* @param is the InputStream to read diff --git a/source/java/writer2latex/xhtml/Converter.java b/source/java/writer2latex/xhtml/Converter.java index 394a2d7..5fb6c5c 100644 --- a/source/java/writer2latex/xhtml/Converter.java +++ b/source/java/writer2latex/xhtml/Converter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-09) + * Version 1.2 (2010-05-17) * */ @@ -227,10 +227,12 @@ public class Converter extends ConverterBase { converterResult.addContentEntry(new ContentEntryImpl("Text", 1, outFiles.get(0), null)); } else { - // The title page is the first page - converterResult.setTitlePageFile(new ContentEntryImpl("Title page", 1, outFiles.get(0), null)); - // The text page is the one containing the first heading ContentEntry firstHeading = converterResult.getContent().get(0); + // The title page is the first page, unless the first page starts with a heading + if (outFiles.get(0)!=firstHeading.getFile() || firstHeading.getTarget()!=null) { + converterResult.setTitlePageFile(new ContentEntryImpl("Title page", 1, outFiles.get(0), null)); + } + // The text page is the one containing the first heading converterResult.setTextFile(new ContentEntryImpl("Text", 1, firstHeading.getFile(), firstHeading.getTarget())); } @@ -397,7 +399,6 @@ public class Converter extends ConverterBase { if (nIndex>=0 && nIndex<=nOutFileIndex) { Element a = dom.createElement("a"); a.setAttribute("href",Misc.makeHref(getOutFileName(nIndex,true))); - a.setAttribute("href",getOutFileName(nIndex,true)); a.appendChild(dom.createTextNode(s)); //node.appendChild(dom.createTextNode("[")); node.appendChild(a); diff --git a/source/java/writer2latex/xhtml/DrawConverter.java b/source/java/writer2latex/xhtml/DrawConverter.java index fbfb0f7..d09932e 100644 --- a/source/java/writer2latex/xhtml/DrawConverter.java +++ b/source/java/writer2latex/xhtml/DrawConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-03-03) + * Version 1.2 (2010-05-13) * */ @@ -376,12 +376,14 @@ public class DrawConverter extends ConverterHelper { if (sHref!=null && sHref.length()>0 && !ofr.isInPackage(sHref)) { // Linked image is not yet handled by ImageLoader. This is a temp. // solution (will go away when ImageLoader is finished) - sFileName = sHref; - // In OpenDocument *package* format ../ means "leave the package" - if (ofr.isOpenDocument() && ofr.isPackageFormat() && sFileName.startsWith("../")) { - sFileName=sFileName.substring(3); - } - //String sExt = sHref.substring(sHref.lastIndexOf(".")).toLowerCase(); + if (!converter.isOPS()) { // Cannot have linked images in EPUB, ignore the image + sFileName = sHref; + // In OpenDocument *package* format ../ means "leave the package" + if (ofr.isOpenDocument() && ofr.isPackageFormat() && sFileName.startsWith("../")) { + sFileName=sFileName.substring(3); + } + //String sExt = sHref.substring(sHref.lastIndexOf(".")).toLowerCase(); + } } else { // embedded or base64 encoded image BinaryGraphicsDocument bgd = converter.getImageLoader().getImage(onode); diff --git a/source/java/writer2latex/xhtml/ParStyleConverter.java b/source/java/writer2latex/xhtml/ParStyleConverter.java index 2e5d5c2..e5ca4d0 100644 --- a/source/java/writer2latex/xhtml/ParStyleConverter.java +++ b/source/java/writer2latex/xhtml/ParStyleConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-09) + * Version 1.2 (2010-05-13) * */ @@ -80,6 +80,7 @@ public class ParStyleConverter extends StyleWithPropertiesConverterHelper { * @param bInherit true if properties should be inherited from parent style(s) */ public void applyProperties(StyleWithProperties style, CSVList props, boolean bInherit) { + cssPageBreak(style,props,bInherit); getFrameSc().cssMargins(style,props,bInherit); getFrameSc().cssBorder(style,props,bInherit); getFrameSc().cssPadding(style,props,bInherit); @@ -104,6 +105,15 @@ public class ParStyleConverter extends StyleWithPropertiesConverterHelper { if (style==null || !style.isAutomatic()) { return sStyleName; } return style.getParentName(); } + + public void cssPageBreak(StyleWithProperties style, CSVList props, boolean bInherit) { + if ("page".equals(style.getProperty(XMLString.FO_BREAK_BEFORE, bInherit))) { + props.addValue("page-break-before", "always"); + } + else if ("page".equals(style.getProperty(XMLString.FO_BREAK_AFTER, bInherit))) { + props.addValue("page-break-after", "always"); + } + } public void cssPar(StyleWithProperties style, CSVList props, boolean bInherit){ String s; diff --git a/source/java/writer2latex/xhtml/TableStyleConverter.java b/source/java/writer2latex/xhtml/TableStyleConverter.java index fc68ad8..3ff3825 100644 --- a/source/java/writer2latex/xhtml/TableStyleConverter.java +++ b/source/java/writer2latex/xhtml/TableStyleConverter.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-2010 by Henrik Just * * All Rights Reserved. * - * Version 1.0 (2008-09-08) + * Version 1.2 (2010-05-13) * */ @@ -74,6 +74,8 @@ public class TableStyleConverter extends StyleWithPropertiesConverterHelper { * @param bInherit true if properties should be inherited from parent style(s) */ public void applyProperties(StyleWithProperties style, CSVList props, boolean bInherit) { + // Page break + getParSc().cssPageBreak(style, props, bInherit); // Apply background getFrameSc().cssBackground(style,props,bInherit); // Table-specific properties diff --git a/source/java/writer2latex/xhtml/TextConverter.java b/source/java/writer2latex/xhtml/TextConverter.java index 41f8583..9af6de9 100644 --- a/source/java/writer2latex/xhtml/TextConverter.java +++ b/source/java/writer2latex/xhtml/TextConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-09) + * Version 1.2 (2010-05-13) * */ @@ -470,9 +470,10 @@ public class TextConverter extends ConverterHelper { if (nDontSplitLevel>1) { // we cannot split due to a nested structure return node; } - if (bAfterHeading && nLevel-nLastSplitLevel<=nRepeatLevels) { + if (!converter.isOPS() && bAfterHeading && nLevel-nLastSplitLevel<=nRepeatLevels) { // we cannot split because we are right after a heading and the - // maximum number of parent headings on the page is not reached + // maximum number of parent headings on the page is not reached + // TODO: Something wrong here....nLastSplitLevel is never set??? return node; } if (nSplit>=nLevel && converter.outFileHasContent()) { @@ -562,7 +563,14 @@ public class TextConverter extends ConverterHelper { ListCounter counter = getListCounter(listStyle); if (bRestart) { counter.restart(nListLevel,nStartValue); } String sLabel = counter.step(nListLevel).getLabel(); - insertListLabel(listStyle,nListLevel,"SectionNumber",sLabel,heading); + if (config.zenHack() && nLevel==2) { + // Hack for ePub Zen Garden: Special style for the prefix at level 2 + // TODO: Replace by some proper style map construct... + insertListLabel(listStyle,nListLevel,"SectionNumber",counter.getPrefix(),counter.getLabelAndSuffix(),heading); + } + else { + insertListLabel(listStyle,nListLevel,"SectionNumber",null,sLabel,heading); + } // Add to toc if (!bInToc) { @@ -642,7 +650,7 @@ public class TextConverter extends ConverterHelper { if (!bIsEmpty) { par = createTextBackground(par, sStyleName); if (config.listFormatting()==XhtmlConfig.HARD_LABELS) { - insertListLabel(currentListStyle, nCurrentListLevel, "ItemNumber", sCurrentListLabel, par); + insertListLabel(currentListStyle, nCurrentListLevel, "ItemNumber", null, sCurrentListLabel, par); } sCurrentListLabel = null; traverseInlineText(onode,par); @@ -694,8 +702,14 @@ public class TextConverter extends ConverterHelper { } // Helper: Insert a list label formatted with a list style - private void insertListLabel(ListStyle style, int nLevel, String sDefaultStyle, String sLabel, Element hnode) { + private void insertListLabel(ListStyle style, int nLevel, String sDefaultStyle, String sPrefix, String sLabel, Element hnode) { if (sLabel!=null && sLabel.length()>0) { + if (sPrefix!=null) { + Element prefix = converter.createElement("span"); + prefix.setAttribute("class", "chapter-name"); + hnode.appendChild(prefix); + prefix.appendChild( converter.createTextNode(sPrefix)); + } StyleInfo info = new StyleInfo(); if (style!=null) { String sTextStyleName = style.getLevelProperty(nLevel,XMLString.TEXT_STYLE_NAME); diff --git a/source/java/writer2latex/xhtml/XhtmlConfig.java b/source/java/writer2latex/xhtml/XhtmlConfig.java index a8cf0c1..656e4ad 100644 --- a/source/java/writer2latex/xhtml/XhtmlConfig.java +++ b/source/java/writer2latex/xhtml/XhtmlConfig.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-05-09) + * Version 1.2 (2010-05-13) * */ @@ -41,7 +41,7 @@ import writer2latex.util.Misc; public class XhtmlConfig extends writer2latex.base.ConfigBase { // Implement configuration methods - protected int getOptionCount() { return 42; } + protected int getOptionCount() { return 43; } protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; } // Override setOption: To be backwards compatible, we must accept options @@ -119,6 +119,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { private static final int UPLINK = 39; private static final int DIRECTORY_ICON = 40; private static final int DOCUMENT_ICON = 41; + private static final int ZEN_HACK = 42; // temporary hack for ePub Zen Garden styles protected ComplexOption xheading = addComplexOption("heading-map"); protected ComplexOption xpar = addComplexOption("paragraph-map"); @@ -197,6 +198,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { options[UPLINK] = new Option("uplink",""); options[DIRECTORY_ICON] = new Option("directory_icon",""); options[DOCUMENT_ICON] = new Option("document_icon",""); + options[ZEN_HACK] = new BooleanOption("zen_hack", "false"); } protected void readInner(Element elm) { @@ -309,6 +311,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { public String getXhtmlUplink() { return options[UPLINK].getString(); } public String getXhtmlDirectoryIcon() { return options[DIRECTORY_ICON].getString(); } public String getXhtmlDocumentIcon() { return options[DOCUMENT_ICON].getString(); } + public boolean zenHack() { return ((BooleanOption) options[ZEN_HACK]).getValue(); } public XhtmlStyleMap getXParStyleMap() { return getStyleMap(xpar); } public XhtmlStyleMap getXHeadingStyleMap() { return getStyleMap(xheading); } diff --git a/source/oxt/writer2latex/W2LDialogs2/Characters.xdl b/source/oxt/writer2latex/W2LDialogs2/Characters.xdl index 68d14f1..b2d910c 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Characters.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Characters.xdl @@ -2,14 +2,14 @@ - - - + + + - + - + @@ -19,13 +19,13 @@ - + - + - + diff --git a/source/oxt/writer2latex/W2LDialogs2/Documentclass.xdl b/source/oxt/writer2latex/W2LDialogs2/Documentclass.xdl index 92258d9..2cecf00 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Documentclass.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Documentclass.xdl @@ -2,14 +2,14 @@ - + - + - + - + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Figures.xdl b/source/oxt/writer2latex/W2LDialogs2/Figures.xdl index b97de87..c3e9bb6 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Figures.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Figures.xdl @@ -3,16 +3,16 @@ - - + + - + - + - + - + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Fonts.xdl b/source/oxt/writer2latex/W2LDialogs2/Fonts.xdl index 3a8bc8e..70ca460 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Fonts.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Fonts.xdl @@ -2,14 +2,14 @@ - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Headings.xdl b/source/oxt/writer2latex/W2LDialogs2/Headings.xdl index e365355..28bc1b8 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Headings.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Headings.xdl @@ -4,7 +4,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -61,10 +61,10 @@ - + - - + + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Pages.xdl b/source/oxt/writer2latex/W2LDialogs2/Pages.xdl index 9a87bf1..775874b 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Pages.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Pages.xdl @@ -3,18 +3,18 @@ - + - + - + - + - + - + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Styles.xdl b/source/oxt/writer2latex/W2LDialogs2/Styles.xdl index 1f9cdcb..a58401a 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Styles.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Styles.xdl @@ -3,7 +3,7 @@ - + @@ -13,38 +13,42 @@ - + - + - + - + - - - + + + - + - + + + + + - + - - + + @@ -53,9 +57,5 @@ - - - - \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/Tables.xdl b/source/oxt/writer2latex/W2LDialogs2/Tables.xdl index 26c4fb5..0e537cd 100644 --- a/source/oxt/writer2latex/W2LDialogs2/Tables.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/Tables.xdl @@ -2,27 +2,27 @@ - + - - - + + + - + - - - - + + + + - - + + \ No newline at end of file diff --git a/source/oxt/writer2latex/W2LDialogs2/TextAndMath.xdl b/source/oxt/writer2latex/W2LDialogs2/TextAndMath.xdl index 5035da7..b84d5d2 100644 --- a/source/oxt/writer2latex/W2LDialogs2/TextAndMath.xdl +++ b/source/oxt/writer2latex/W2LDialogs2/TextAndMath.xdl @@ -3,35 +3,35 @@ - + - + - + - + - + - + - + - + - + - + \ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/help.tree b/source/oxt/writer2latex/help/en/help.tree index 80c552c..5d05166 100644 --- a/source/oxt/writer2latex/help/en/help.tree +++ b/source/oxt/writer2latex/help/en/help.tree @@ -2,5 +2,17 @@ LaTeX Export + + Introduction + Documentclass + Headings + Styles + Characters + Fonts + Pages + Tables + Figures + Text and math + diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Characters.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Characters.xhp new file mode 100644 index 0000000..ff74264 --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Characters.xhp @@ -0,0 +1,74 @@ + + + + + Characters + org.openoffice.da.writer2latex.oxt/Configuration/Characters.xhp + + + + Characters + Define how to convert character formatting + +
+ Choose Tools - Options - Writer2LaTeX - Characters +
+ + Character formatting packages + + + Use hyperref.sty (support for hyperlinks) + Check this if you want to export hyperlinks using the LaTeX package + hyperref.sty. As a side effect this package will create links for cross references etc. + + + Use color.sty (color support) + Check this if you want color support (text color only) using the + LaTeX package color.sty. + + + Use ulem.sty (underline and strike out text) + Check this to support underlined and striked out text using the LaTeX + package ulem.sty. Note that this does not work well for longer passages of text. Writer2LaTeX will never export + underline and strike out for entire paragraphs. + + + Formatting attributes + For some formatting attributes you can directly control the generated LaTeX + code. + + Formatting attribute + Select the formatting attribute: + + + Bold: Boldface text + + + Italics: Italics text + + + Small caps: Text formatted as small caps. + + + Superscript: Text formatted as superscript. + + + Subscript: Text formatted as subscript. + + + + + Apply custom LaTeX code + Check this if you want to define custom LaTeX code for the currently selected + attribute. Otherwise Writer2LaTeX will use default code, e.g. \textbf for boldface text. + + + LaTeX code before + Enter the LaTeX code to add before the text, e.g. \emph{ + + + LaTeX code after + Enter the LaTeX code to add after the text, e.g. } + + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Documentclass.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Documentclass.xhp new file mode 100644 index 0000000..768373d --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Documentclass.xhp @@ -0,0 +1,39 @@ + + + + + Documentclass + org.openoffice.da.writer2latex.oxt/Configuration/Documentclass.xhp + + + + Documentclass + Define the documentclass for the LaTeX document + +
+ Choose Tools - Options - Writer2LaTeX - Documentclass +
+ + + Do not include preamble + If you check this option, Writer2LaTeX will not create the a LaTeX preamble, + nor include \begin{document} and \end{document}. This is useful if the document is to be included in another LaTeX document. + Note that in this case you will have to make sure that all packages/definitions needed are available in the master + LaTeX document. + + + Documentclass + Type the name of the LaTeX documentclass to use (e.g. + article, book). + + + Global options + Type a list of global options to add to the documentclass, e.g. landscape + to get \documentclass[landscape]{article}. + + + Custom preamble + The text you type here will be copied verbatim into the LaTeX preamble. + For example \usepackage{palatino} to typeset your document using the postscript font Palatino. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Figures.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Figures.xhp new file mode 100644 index 0000000..299dd4c --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Figures.xhp @@ -0,0 +1,54 @@ + + + + + Styles + org.openoffice.da.writer2latex.oxt/Configuration/Figures.xhp + + + + Figures + + Define how to convert figures + +
+ Choose Tools - Options - Writer2LaTeX - Figures +
+ + General + + + Use caption.sty to format captions (also for tables) + Check this to take advantage of the LaTeX package caption.sty. + Currently Writer2LaTeX only uses the support for non-floating captions from this package. + This applies to all captions (figure and table captions). + + + Center figures + If you check this, all graphics and text boxes will be centered. + Otherwise standard formatting is applied (this normally means that they will appear flush left). + + + Figure sequence names + This option can be set to a sequence name in the source document. + OpenDocument has a very weak sense of figure captions: A figure caption is a paragraph containing a sequence number. + If you use %PRODUCTNAME's defaults, Writer2LaTeX can guess which sequence name to use. + If it fails, you can type the name here. Normally it should be left empty. + + Graphics + + + Do not export graphics + Check this to ignore all graphics in the export. + + + Omit file extension + Check this to export file names for images without file extension. + You will thus get eg. \includegraphics{myimage} rather than \includegraphics{myimage.png}. + + + Graphic options + Type any options that should be applied to all images + (ie. all \includegraphics commands). For example width=\linewidth. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Fonts.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Fonts.xhp new file mode 100644 index 0000000..f334be6 --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Fonts.xhp @@ -0,0 +1,51 @@ + + + + + Fonts + org.openoffice.da.writer2latex.oxt/Configuration/Fonts.xhp + + + + Fonts + Define the font packages to use in the exported LaTeX document + +
+ Choose Tools - Options - Writer2LaTeX - Fonts +
+ + Font packages (not used for XeTeX) + These options have no effect if the backend is XeTeX, which handles + fonts quite differently from "classic" LaTeX. + + + Use pifont.sty (dingbats) + Check this to use of symbol font Zapf Dingbats using the LaTeX package + pifont.sty. + + + Use tipa.sty and tipax.sty (phonetic symbols) + Check this to use phonetic symbols using the LaTeX packages + tipa.sty and tipx.sty. + + + Use eurosym.sty (euro currency symbol) + Check this to use the eurosym font using the LaTeX package + eurosym.sty. This package provides a slightly better euro symbol than standard LaTeX. + + + Use wasysym.sty (various symbols) + Check this to use the wasy symbol font using the LaTeX package + wasysym.sty. + + + Use ifsym.sty (geometric shapes) + Check this to use the ifsym symbol font using the LaTeX package + ifsym.sty. + + + Use bbding.sty (metafont dingbats) + Check this to use the bbding symbol font (a clone of Zapf Dingbats) + using the LaTeX package bbding.sty. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Headings.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Headings.xhp new file mode 100644 index 0000000..c1cc6ab --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Headings.xhp @@ -0,0 +1,70 @@ + + + + + Headings + org.openoffice.da.writer2latex.oxt/Configuration/Headings.xhp + + + + Headings + Define the conversion of headings in the document + +
+ Choose Tools - Options - Writer2LaTeX - Headings +
+ + Headings + + + Heading levels to export + Choose the number of heading levels you want to export as LaTeX sectioning commands. + Other headings are exported as ordinary paragraphs. + + + Writer level + Choose a heading level to configure. + + + LaTeX level + Choose the heading level in LaTeX to use for the selected Writer level. + The standard document classes uses this level numbering + + + \part: Level -1 + + + \chapter: Level 0 + + + \section: Level 1 + + + \subsection: Level 2 + + + \subsubsection: Level 3 + + + \paragraph: Level 4 + + + \supparagraph: Level 5 + + + + + LaTeX heading name + Enter the name of the section command in LaTeX, e.g. section to + produce a \section, or select a standard section command from the list. + + Indexes and tables + + + Do not include indexes + If you check this option, Writer2LaTeX will not export indexes + (e.g. table of contents, bibliopgrahy). This option is intended for the case that the document is to be part + of a larger LaTeX document, which may contain global indexes. + + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Introduction.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Introduction.xhp new file mode 100644 index 0000000..9ec20ea --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Introduction.xhp @@ -0,0 +1,24 @@ + + + + + Custom format + org.openoffice.da.writer2latex.oxt/Configuration/Introduction.xhp + + + + Custom format + Define a custom format for the LaTeX export + +
+ Choose Tools - Options - Writer2LaTeX +
+ + + Writer2LaTeX comes with a number of predefined LaTeX formats. + A format defines the kind of LaTeX document to generate (the document class to use and the packages to load). + It also defines a set of rules defining how content and formatting should be exported to LaTeX. Advanced users can define + their own format on these pages. This requires some knowledge of LaTeX. + To use the custom format, choose Custom in the export dialog. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Pages.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Pages.xhp new file mode 100644 index 0000000..69ac25b --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Pages.xhp @@ -0,0 +1,52 @@ + + + + + Pages + org.openoffice.da.writer2latex.oxt/Configuration/Pages.xhp + + + + Pages + Define how to convert page formatting + +
+ Choose Tools - Options - Writer2LaTeX - Pages +
+ + Page geometry (page size and margins) + + + Export page geometry + Check this if you want to export the page geometry. Otherwise the default + page geometry of the documentclass will be used. + + + Use geometry.sty + Check this to use package geometry.sty to export the geometry of the page. + Otherwise the geometry will be exported using low level LaTeX commands. + + + Export header and footer + Check this if you want to export the contents of the header and the footer. + + + Use fancyhdr.sty + Check this to use the package fancyhdr.sty to export the header and footer of the page. + Otherwise the header and footer will be exported using low level LaTeX page style commands. + + Page numbers + + + Use lastpage.sty + Check this option to use the package lastpage.sty to represent the page count. + Otherwise the page count is not exported (e.g. content like "page 3 of 7" cannot be exported). + + Endnotes + + + Use endnotes.sty + Check this to use the package endnotes.sty to format the endnotes in the + LaTeX document. Otherwise endnotes will be converted to footnotes. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Styles.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Styles.xhp new file mode 100644 index 0000000..515fc5a --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Styles.xhp @@ -0,0 +1,137 @@ + + + + + Styles + org.openoffice.da.writer2latex.oxt/Configuration/Styles.xhp + + + + Styles + On this page you can define mappings from styles in %PRODUCTNAME Writer + to your own LaTeX styles. + +
+ Choose Tools - Options - Writer2LaTeX - Styles +
+ + + Style family + Select a style family: + + + Character: Define LaTeX code for character styles + + + Paragraph: Define LaTeX code for paragraph styles + + + Paragraph block: Define LaTeX code for a block of paragraphs + starting with a specific paragraph style. + + + List: Define LaTeX code for list styles + (e.g. enumerate or itemize). + + + List item: Define LaTeX code for individual list items. + + + + + Style name + Select an %PRODUCTNAME Writer style name from the list. + + + New... + Click this button to add a new style to the list. Select a style in the list + or type a style name. + + + Delete... + Click this button to delete the current style name from the list. + + + LaTeX code before + Enter the LaTeX code to add before this particular style, e.g. + \begin{center} or \textbf{. + + + LaTeX code after + Enter the LaTeX code to add after this particular style, e.g. + \end{center} or }. + + + Next style(s) + This is only used for paragraph blocks: Paragraphs formatted with a style from + this list are included in the block. + + + Add... + Click this button to add another style to the list of next styles. + + + Remove... + Click this button to remove the current style from the list of next styles. + + + Verbatim content + Check this if you want to export the content as verbatim LaTeX. This implies that + characters not available in the inputencoding are converted to question marks and that other content is discarded, + eg. footnotes. + + + Line break inside + Check this if you want to add line breaks inside the LaTeX construction surrounding + this element. You will probably want this for a construction like \begin{center}...\end{center} but not for + a construction like \textbf{...}. + + + Load default mappings + Writer2LaTeX comes with a set of default style mappings corresponding to + some of the predefined styles in %PRODUCTNAME Writer. Click this button to add these mappings to the current set. You will get + a warning if this will overwrite one or more existing mappings. + + + Other styles + Select how you want to export paragraphs and text with a style for which no style + mapping has been defined. This enables you to ensure that only content with accepted styles is exported. + + + Ignore: The content is ignored silently. + + + Convert: The content is converted as normal. + + + + + Other formatting + Select how you want to export formatting for styles that does not have + a style mapping. + + + Ignore all: Ignore all character, paragraph, + heading, list and footnote formatting contained in the document. + + + Ignore most: Convert basic character + formatting. + + + Convert basic: Convert basic character formatting, + paragraph justification and all numberings (lists, headings, footnotes). + + + Convert most: Convert all supported formatting, except + that paragraph formatting and font size is only converted if it is set by a style. To be able to preserve + formatting, an environment is created for all paragraph styles, custom lists are used for listings, headings are + reformatted using the \@startsection command etc. + + + Convert all: Convert all supported formatting. + + + + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Tables.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Tables.xhp new file mode 100644 index 0000000..c507d61 --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Tables.xhp @@ -0,0 +1,71 @@ + + + + + Tables + org.openoffice.da.writer2latex.oxt/Configuration/Tables.xhp + + + + Tables + + Define how to convert tables + +
+ Choose Tools - Options - Writer2LaTeX - Tables +
+ + + Do not export tables + Check this option to ignore all tables in the export. + + + Use colortbl.sty (background color in cells) + Check this if you want to apply background color to tables using the + package colortbl.sty. This option has no effect unless you also check Use color.sty on the page + Characters. + + + Use tabulary.sty (automatic column width) + Check this if tabulary.sty should be used to export tables. + This package determines column widths automatically which can be useful for tables with a lot of text in each cell. + + + Use supertabular.sty (multipage tables) + Check this to use the package supertabular.sty to export tables which may break + across pages. + + + Use longtable.sty (multipage tables) + Check this to use the package longtable.sty to export tables which may break + across pages. + + + Style for first head + This option is used to produce advanced tables, that are not supported in + %PRODUCTNAME Writer. Enter the name of a paragraph style. If the first paragraph of the first cell in a row is formatted + with this paragraph style, the row in question will be used for the first head in a multipage table. + + + Style for head + Likewise this option specifies a paragraph style that identifies a + repeating head in a multipage table (like a normal table head in %PRODUCTNAME Writer). + + + Style for foot + This option specifies a paragraph style that identifies a repeating foot in a + multipage table. + + + Style for last foot + This option specifies a paragraph style that identifies the last foot in a + multipage table. + + + Table sequence name + This option can be set to a sequence name in the source document. + OpenDocument has a very weak sense of table captions: A table caption is a paragraph containing a sequence number. + If you use %PRODUCTNAME's defaults, Writer2LaTeX can guess which sequence name to use. + If it fails, you can type the name here. Normally it should be left empty. + +
\ No newline at end of file diff --git a/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Textandmath.xhp b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Textandmath.xhp new file mode 100644 index 0000000..ae5dfe6 --- /dev/null +++ b/source/oxt/writer2latex/help/en/org.openoffice.da.writer2latex.oxt/Configuration/Textandmath.xhp @@ -0,0 +1,82 @@ + + + + + Text and math + org.openoffice.da.writer2latex.oxt/Configuration/Textandmath.xhp + + + + Text and math + Define how to convert text strings and math content. + +
+ Choose Tools - Options - Writer2LaTeX - Text and math +
+ + Math packages + + + Use ooomath.sty (custom package supporting %PRODUCTNAME equations) + Check this to use the LaTeX package ooomath.sty. This package defines a number of + LaTeX macros used to convert formulas from %PRODUCTNAME to LaTeX. If this package is not used, the necessary definitions will + be included in the LaTeX preamble, which may become quite long. Hence using ooomath.sty is recommended for documents with + formulas. The package is part of the complete + Writer2LaTeX distribution. + + Math symbols + In %PRODUCTNAME Math you can add user-defined symbols. Writer2LaTeX already + understands the predefined symbols such as %alpha. If you define your own symbols, you can define corresponding LaTeX + code here. + + + Name + Select the name of the user-defined symbol. + + + New... + Click this button to add a new symbol to the list. Select a symbol from the list + or type the name. + + + Delete... + Click this button to delete the current symbol from the list. + + + LaTeX code + Enter the LaTeX code corresponding to this symbol, e.g. + \Downarrow. + + Text replace + Often LaTeX requires special care to typeset certain constructions. For example + according to German typographical rules, an abbreviation like z.B. should be typeset with a small space before the B, which in + LaTeX code will be z.\,B. Another example is French quotations marks (« Je parle français ») which should be + converted to the LaTeX macros \fg and \og. A final example is translation of the text LaTeX to + \LaTeX to properly typeset the LaTeX logo. + + + Input + Select a text string from the list + + + New... + Click this button to add a new text string to the list. Enter the original text as it appears + in the %PRODUCTNAME Writer document, or paste text from the clipboard. + + + Delete... + Click this button to the delete the current text string. Writer2LaTeX has + a few predefined strings that cannot be deleted. + + + LaTeX code + Enter the LaTeX code to export for this text string. + + Tab stops + + + LaTeX code + Normally tab stops are converted to spaces, but in this field you can enter any + LaTeX code, that should be used instead. For example \quad{} or \hspace{2em}. + +
\ 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 92087f0..cf0ba98 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 @@ -51,7 +51,8 @@ Custom is a user defined format. To configure the custom format, - choose Tools - Options - Writer2LaTeX. + choose Tools - Options - Writer2LaTeX. diff --git a/source/oxt/writer4latex/W4LDialogs/Configuration.xdl b/source/oxt/writer4latex/W4LDialogs/Configuration.xdl index bc5c289..bcfbe2e 100644 --- a/source/oxt/writer4latex/W4LDialogs/Configuration.xdl +++ b/source/oxt/writer4latex/W4LDialogs/Configuration.xdl @@ -16,7 +16,7 @@ - + diff --git a/source/oxt/writer4latex/help/en/help.tree b/source/oxt/writer4latex/help/en/help.tree index 77a10db..772d65a 100644 --- a/source/oxt/writer4latex/help/en/help.tree +++ b/source/oxt/writer4latex/help/en/help.tree @@ -6,6 +6,6 @@ Menu reference Guidelines Using the templates - Importing TeX files + diff --git a/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/import.xhp b/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/import.xhp index fc4eaaf..14d1202 100644 --- a/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/import.xhp +++ b/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/import.xhp @@ -7,7 +7,7 @@ - Importing TeX files - Coming soon to an extension near you! + \ No newline at end of file diff --git a/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/introduction.xhp b/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/introduction.xhp index 5a24fb0..c95d6bf 100644 --- a/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/introduction.xhp +++ b/source/oxt/writer4latex/help/en/org.openoffice.da.writer4latex.oxt/introduction.xhp @@ -40,7 +40,7 @@ - LaTeX import + Before you start Before you can use Writer4LaTeX, you need to @@ -64,7 +64,7 @@ http://extensions.services.openoffice.org/project/writer2latex. - Writer4LaTeX needs a working LaTeX distribution including TeX4ht. + Writer4LaTeX needs a working LaTeX distribution. MikTeX is recommended and can be downloaded from http://www.miktex.org. @@ -84,14 +84,14 @@ http://extensions.services.openoffice.org/project/writer2latex. - Writer4LaTeX needs a working LaTeX distribution which includes TeX4ht. + Writer4LaTeX needs a working LaTeX distribution. TeX live is recommended and is available for most UNIX-like systems. The installation depends on your system. If you are using Debian or Ubuntu you can for example install the required packages by typing these commands from a terminal window: sudo apt-get install texlive
sudo apt-get install texlive-latex-extra
sudo apt-get install texlive-xetex -
sudo apt-get install tex4ht
+
Finally you should install viewers for DVI, PDF and PostScript files.