From bf235469bb964bf5b50147b826150c601bb8f0fa Mon Sep 17 00:00:00 2001 From: henrikjust Date: Wed, 9 Mar 2011 08:48:57 +0000 Subject: [PATCH] W2X page style and footnote improvements git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@96 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 11 ++ source/distro/doc/user-manual.odt | Bin 51783 -> 51946 bytes .../writer2xhtml/ConfigurationDialog.java | 6 +- .../java/writer2latex/office/XMLString.java | 5 +- source/java/writer2latex/xhtml/Converter.java | 13 +- .../xhtml/PageStyleConverter.java | 121 ++++++++++++--- .../writer2latex/xhtml/TextConverter.java | 139 +++++++++--------- .../java/writer2latex/xhtml/XhtmlConfig.java | 45 +++--- .../oxt/writer2xhtml/W2XDialogs2/Content.xdl | 8 +- .../Configuration/Content.xhp | 12 +- 10 files changed, 236 insertions(+), 124 deletions(-) diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index 0767bb6..f401ed1 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -3,6 +3,17 @@ Changelog for Writer2LaTeX version 1.0 -> 1.2 ---------- version 1.1.7 ---------- +[w2x] Export suffix and prefix on footnotes and endnotes + +[w2x] Export footnotes as endnotes (if text:footnotes-position="document"). A new option footnotes_heading is added: + The value of this (if non-empty) is used as heading for the footnotes in this case + +[w2x] EPUB: Set body margin to zero + +[w2x] Export footnote rule (using first master page) + +[w2x] Export page background color (using first master page) + [w2x] The option use_dublin_core no longer has effect on EPUB export (instead identifier, author, date and title are always exported, and other properties are exported if they exist and are non-empty) diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt index 64ca00d778e4ce355ad4e9f60b30c66e8601041c..97baaf2b5f3b077179fa602658f563286c874073 100644 GIT binary patch delta 34694 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 delta 34567 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 diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java b/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java index b460916..8efea47 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-2010 by Henrik Just +* Copyright: 2002-2011 by Henrik Just * * All Rights Reserved. * -* Version 1.2 (2010-12-09) +* Version 1.2 (2011-03-08) * */ @@ -407,11 +407,13 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer @Override protected void setControls(DialogAccess dlg) { listBoxFromConfig(dlg, "Formulas", "formulas", sFormulaValues, (short) 0); textFieldFromConfig(dlg, "EndnotesHeading", "endnotes_heading"); + textFieldFromConfig(dlg, "FootnotesHeading", "footnotes_heading"); } @Override protected void getControls(DialogAccess dlg) { listBoxToConfig(dlg, "Formulas", "formulas", sFormulaValues); textFieldToConfig(dlg, "EndnotesHeading", "endnotes_heading"); + textFieldToConfig(dlg, "FootnotesHeading", "footnotes_heading"); } @Override protected boolean handleEvent(DialogAccess dlg, String sMethod) { diff --git a/source/java/writer2latex/office/XMLString.java b/source/java/writer2latex/office/XMLString.java index 0cb8a64..942d52a 100644 --- a/source/java/writer2latex/office/XMLString.java +++ b/source/java/writer2latex/office/XMLString.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-2011 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2010-12-15) + * Version 1.2 (2011-03-08) * */ @@ -355,6 +355,7 @@ public class XMLString { public static final String TEXT_REFERENCE_FORMAT="text:reference-format"; public static final String TEXT_REF_NAME="text:ref-name"; public static final String TEXT_FORMULA="text:formula"; + public static final String TEXT_FOOTNOTES_POSITION="text:footnotes-position"; public static final String TEXT_NOTE_CLASS="text:note-class"; public static final String TEXT_CITATION_BODY_STYLE_NAME="text:citation-body-style-name"; public static final String TEXT_CITATION_STYLE_NAME="text:citation-style-name"; diff --git a/source/java/writer2latex/xhtml/Converter.java b/source/java/writer2latex/xhtml/Converter.java index 7249c6a..f38381a 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 (2011-02-21) + * Version 1.2 (2011-03-08) * */ @@ -237,10 +237,6 @@ public class Converter extends ConverterBase { else if (ofr.isPresentation()) { drawCv.convertDrawContent(body); } else { textCv.convertTextContent(body); } - // Add footnotes and endnotes - textCv.insertFootnotes(htmlDoc.getContentNode()); - textCv.insertEndnotes(htmlDoc.getContentNode()); - // Set the title page and text page entries if (converterResult.getContent().isEmpty()) { // No headings in the document: There is no title page and the text page is the first page @@ -555,7 +551,6 @@ public class Converter extends ConverterBase { // Prepare next output file public Element nextOutFile() { - if (nOutFileIndex>=0) { textCv.insertFootnotes(htmlDoc.getContentNode()); } htmlDoc = new XhtmlDocument(getOutFileName(++nOutFileIndex,false),nType); htmlDoc.setConfig(config); if (template!=null) { htmlDoc.readFromTemplate(template); } @@ -574,10 +569,10 @@ public class Converter extends ConverterBase { ". See http://writer2latex.sourceforge.net for more info."), rootElement.getFirstChild()); - // Apply page formatting (using first master page) - if (ofr.getFirstMasterPage()!=null && !ofr.isPresentation()) { + // Apply default writing direction + if (!ofr.isPresentation()) { StyleInfo pageInfo = new StyleInfo(); - styleCv.getPageSc().applyStyle(ofr.getFirstMasterPage().getName(),pageInfo); + styleCv.getPageSc().applyDefaultWritingDirection(pageInfo); styleCv.getPageSc().applyStyle(pageInfo,htmlDoc.getContentNode()); } diff --git a/source/java/writer2latex/xhtml/PageStyleConverter.java b/source/java/writer2latex/xhtml/PageStyleConverter.java index 57e3ea4..8f2da30 100644 --- a/source/java/writer2latex/xhtml/PageStyleConverter.java +++ b/source/java/writer2latex/xhtml/PageStyleConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-03-01) + * Version 1.2 (2010-03-08) * */ @@ -41,12 +41,15 @@ import writer2latex.util.CSVList; * A page style in a presentation is represented through the master page, * which links to a page layout defining the geometry and optionally a drawing * page defining the drawing background. - * In a presentation document we export the full page style, in a text - * document we only export the background. + * + * In a presentation document we export the full page style. + * In a text document we export the writing direction, background color and footnote rule for the first master page only */ public class PageStyleConverter extends StyleConverterHelper { + + private boolean bHasFootnoteRules = false; - /** Create a new PageStyleConverter + /** Create a new PageStyleConverter * @param ofr an OfficeReader to read style information from * @param config the configuration to use * @param converter the main Converter class @@ -54,27 +57,45 @@ public class PageStyleConverter extends StyleConverterHelper { */ public PageStyleConverter(OfficeReader ofr, XhtmlConfig config, Converter converter, int nType) { super(ofr,config,converter,nType); + this.bConvertStyles = config.xhtmlFormatting()==XhtmlConfig.CONVERT_ALL || config.xhtmlFormatting()==XhtmlConfig.IGNORE_HARD; + } + + /** Apply footnote rule formatting (based on first master page) + * + * @param info then StyleInfo to which style information should be attached + */ + public void applyFootnoteRuleStyle(StyleInfo info) { + bHasFootnoteRules = true; + info.sClass="footnoterule"; + } + + /** Apply default writing direction (based on first master page) + * + * @param info then StyleInfo to which style information should be attached + */ + public void applyDefaultWritingDirection(StyleInfo info) { + MasterPage masterPage = ofr.getFirstMasterPage(); + if (masterPage!=null) { + PageLayout pageLayout = ofr.getPageLayout(masterPage.getPageLayoutName()); + if (pageLayout!=null) { + applyDirection(pageLayout,info); + } + } } + /** Apply a master page style - currently only for presentations + * + * @param sStyleName The name of the master page + * @param info the StyleInfo to which style information should be attached + */ public void applyStyle(String sStyleName, StyleInfo info) { MasterPage masterPage = ofr.getMasterPage(sStyleName); - String sDisplayName = masterPage.getDisplayName(); if (masterPage!=null) { + String sDisplayName = masterPage.getDisplayName(); if (ofr.isPresentation()) { // Always generates class name info.sClass="masterpage"+styleNames.getExportName(sDisplayName); } - else { - // For text documents only writing direction and background - String sPageLayout = masterPage.getPageLayoutName(); - PageLayout pageLayout = ofr.getPageLayout(sPageLayout); - if (pageLayout!=null) { - applyDirection(pageLayout,info); - if (bConvertStyles) { - getFrameSc().cssBackground(pageLayout,info.props,true); - } - } - } } } @@ -83,9 +104,10 @@ public class PageStyleConverter extends StyleConverterHelper { */ public String getStyleDeclarations(String sIndent) { StringBuffer buf = new StringBuffer(); + + // This will be master pages for presentations only Enumeration names = styleNames.keys(); while (names.hasMoreElements()) { - // This will be master pages for presentations only String sDisplayName = names.nextElement(); MasterPage style = (MasterPage) getStyles().getStyleByDisplayName(sDisplayName); @@ -102,12 +124,42 @@ public class PageStyleConverter extends StyleConverterHelper { if (drawingPage!=null) { cssDrawBackground(drawingPage,info.props,true); } - // The export the results + // Then export the results buf.append(sIndent) .append(".masterpage").append(styleNames.getExportName(sDisplayName)) .append(" {").append(info.props.toString()).append("}") .append(config.prettyPrint() ? "\n" : " "); } + + if (ofr.isText()) { + // Export page formatting for first master page in text documents + MasterPage masterPage = ofr.getFirstMasterPage(); + if (masterPage!=null) { + PageLayout pageLayout = ofr.getPageLayout(masterPage.getPageLayoutName()); + if (pageLayout!=null) { + if (bConvertStyles) { + // Background color + StyleInfo pageInfo = new StyleInfo(); + getFrameSc().cssBackground(pageLayout,pageInfo.props,true); + if (converter.isOPS()) { // Use zero margin for EPUB and default margins for XHTML + pageInfo.props.addValue("margin", "0"); + } + if (pageInfo.hasAttributes()) { + buf.append(sIndent).append("body {").append(pageInfo.props.toString()).append("}") + .append(config.prettyPrint() ? "\n" : " "); + } + + // Footnote rule + if (bHasFootnoteRules) { + StyleInfo ruleInfo = new StyleInfo(); + cssFootnoteRule(pageLayout,ruleInfo.props); + buf.append(sIndent).append("hr.footnoterule {").append(ruleInfo.props.toString()).append("}") + .append(config.prettyPrint() ? "\n" : " "); + } + } + } + } + } return buf.toString(); } @@ -132,6 +184,39 @@ public class PageStyleConverter extends StyleConverterHelper { String sHeight = style.getProperty(XMLString.FO_PAGE_HEIGHT); if (sHeight!=null) { props.addValue("height",scale(sHeight)); } } + + // Footnote rule + private void cssFootnoteRule(PageLayout style, CSVList props) { + String sBefore = style.getFootnoteProperty(XMLString.STYLE_DISTANCE_BEFORE_SEP); + if (sBefore!=null) { props.addValue("margin-top",scale(sBefore)); } + String sAfter = style.getFootnoteProperty(XMLString.STYLE_DISTANCE_AFTER_SEP); + if (sAfter!=null) { props.addValue("margin-bottom", scale(sAfter)); } + String sHeight = style.getFootnoteProperty(XMLString.STYLE_WIDTH); + if (sHeight!=null) { props.addValue("height", scale(sHeight)); } + String sWidth = style.getFootnoteProperty(XMLString.STYLE_REL_WIDTH); + if (sWidth!=null) { props.addValue("width", sWidth); } + + String sColor = style.getFootnoteProperty(XMLString.STYLE_COLOR); + if (sColor!=null) { // To get the expected result in all browsers we must set both + props.addValue("color", sColor); + props.addValue("background-color", sColor); + } + + String sAdjustment = style.getFootnoteProperty(XMLString.STYLE_ADJUSTMENT); + if ("right".equals(sAdjustment)) { + props.addValue("margin-left", "auto"); + props.addValue("margin-right", "0"); + } + else if ("center".equals(sAdjustment)) { + props.addValue("margin-left", "auto"); + props.addValue("margin-right", "auto"); + } + else { // default left + props.addValue("margin-left", "0"); + props.addValue("margin-right", "auto"); + } + } + diff --git a/source/java/writer2latex/xhtml/TextConverter.java b/source/java/writer2latex/xhtml/TextConverter.java index 7bcd8f6..7badf9c 100644 --- a/source/java/writer2latex/xhtml/TextConverter.java +++ b/source/java/writer2latex/xhtml/TextConverter.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-2011 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2010-12-29) + * Version 1.2 (2011-03-08) * */ @@ -127,6 +127,9 @@ public class TextConverter extends ConverterHelper { private String sFntCitStyle = null; private String sEntCitBodyStyle = null; private String sEntCitStyle = null; + + // Footnote position (can be page or document) + private boolean bFootnotesAtPage = true; // Gather the footnotes and endnotes private LinkedList footnotes = new LinkedList(); @@ -161,6 +164,7 @@ public class TextConverter extends ConverterHelper { if (notes!=null) { sFntCitBodyStyle = notes.getProperty(XMLString.TEXT_CITATION_BODY_STYLE_NAME); sFntCitStyle = notes.getProperty(XMLString.TEXT_CITATION_STYLE_NAME); + bFootnotesAtPage = !"document".equals(notes.getProperty(XMLString.TEXT_FOOTNOTES_POSITION)); } notes = ofr.getEndnotesConfiguration(); if (notes!=null) { @@ -187,7 +191,11 @@ public class TextConverter extends ConverterHelper { } // Convert content - traverseBlockText(onode,hnode); + hnode = (Element)traverseBlockText(onode,hnode); + + // Add footnotes and endnotes + insertFootnotes(hnode,true); + insertEndnotes(hnode); // Generate all indexes int nIndexCount = indexes.size(); @@ -563,6 +571,7 @@ public class TextConverter extends ConverterHelper { // No objections, this is a level that causes splitting nCharacterCount = 0; bPendingPageBreak = false; + if (converter.getOutFileIndex()>=0) { insertFootnotes(node,false); } return converter.nextOutFile(); } return node; @@ -1685,22 +1694,37 @@ public class TextConverter extends ConverterHelper { footnotes.add(onode); } - public void insertFootnotes(Node hnode) { + private void insertFootnotes(Node hnode, boolean bFinal) { int n = footnotes.size(); - for (int i=0; i0 && bFootnotesAtPage) { // Add footnote rule + Element rule = converter.createElement("hr"); + StyleInfo info = new StyleInfo(); + getPageSc().applyFootnoteRuleStyle(info); + getPageSc().applyStyle(info, rule); + hnode.appendChild(rule); + } + else if (bFinal && !bFootnotesAtPage) { // New page if required for footnotes as endnotes + if (nSplit>0) { hnode = converter.nextOutFile(); } + insertNoteHeading(hnode, config.getFootnotesHeading(), "footnotes"); + } + + if (bFinal || bFootnotesAtPage) { // Insert the footnotes + for (int i=0; i0) { if (nSplit>0) { hnode = converter.nextOutFile(); } - - String sHeading = config.getEndnotesHeading(); - if (sHeading.length()>0) { - Element heading = converter.createElement("h1"); - hnode.appendChild(heading); - heading.appendChild(converter.createTextNode(sHeading)); - - // Add to external content. - if (nSplit>0) { - converter.addContentEntry(sHeading, 1, null); - } - else { - //For single output file we need a target - converter.addTarget(heading,"endnotes"); - converter.addContentEntry(sHeading, 1, "endnotes"); - } - } + insertNoteHeading(hnode, config.getEndnotesHeading(), "endnotes"); for (int i=0; i0) { + Element heading = converter.createElement("h1"); + hnode.appendChild(heading); + heading.appendChild(converter.createTextNode(sHeading)); + + // Add to external content. + if (nSplit>0) { + converter.addContentEntry(sHeading, 1, null); + } + else { + //For single output file we need a target + converter.addTarget(heading,sTarget); + converter.addContentEntry(sHeading, 1, sTarget); + } + } + } /* * Process the contents of a footnote or endnote */ - private void traverseNoteBody (String sId, String sCitStyle, Node citation,Node onode, Node hnode) { + private void traverseNoteBody (String sId, String sCitStyle, Node citation, Node onode, Node hnode, PropertySet noteConfig) { // Create the anchor/footnote symbol: // Create target and link Element link = converter.createLink("body"+sId); @@ -1767,43 +1793,22 @@ public class TextConverter extends ConverterHelper { StyleInfo linkInfo = new StyleInfo(); getTextSc().applyStyle(sCitStyle,linkInfo); applyStyle(linkInfo,link); + String sPrefix = noteConfig.getProperty(XMLString.STYLE_NUM_PREFIX); + if (sPrefix!=null) { + link.appendChild(converter.createTextNode(sPrefix)); + } traversePCDATA(citation,link); - // Add a space and save it for later insertion: + String sSuffix = noteConfig.getProperty(XMLString.STYLE_NUM_SUFFIX); + if (sSuffix!=null) { + link.appendChild(converter.createTextNode(sSuffix)); + } + // Add a space and save it for later insertion Element span = converter.createElement("span"); span.appendChild(link); span.appendChild(converter.createTextNode(" ")); asapNode = span; traverseBlockText(onode,hnode); - - /*if (onode.hasChildNodes()) { - NodeList nList = onode.getChildNodes(); - int len = nList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(XMLString.TEXT_H)) { - handleHeading(child,hnode); - } - - if (nodeName.equals(XMLString.TEXT_P)) { - handleParagraph(child,hnode); - } - - if (nodeName.equals(XMLString.TEXT_ORDERED_LIST)) { - handleOL(child,0,null,hnode); - } - - if (nodeName.equals(XMLString.TEXT_UNORDERED_LIST)) { - handleUL(child,0,null,hnode); - } - } - } - }*/ } private void handlePageNumber(Node onode, Node hnode) { diff --git a/source/java/writer2latex/xhtml/XhtmlConfig.java b/source/java/writer2latex/xhtml/XhtmlConfig.java index 633e75a..0841551 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 (2011-02-23) + * Version 1.2 (2011-03-08) * */ @@ -41,7 +41,7 @@ import writer2latex.util.Misc; public class XhtmlConfig extends writer2latex.base.ConfigBase { // Implement configuration methods - protected int getOptionCount() { return 53; } + protected int getOptionCount() { return 54; } protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; } // Override setOption: To be backwards compatible, we must accept options @@ -117,25 +117,26 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { private static final int TABSTOP_STYLE = 31; private static final int FORMULAS = 32; private static final int ENDNOTES_HEADING = 33; - private static final int EXTERNAL_TOC_DEPTH = 34; - private static final int INCLUDE_TOC = 35; - private static final int SPLIT_LEVEL = 36; - private static final int REPEAT_LEVELS = 37; - private static final int PAGE_BREAK_SPLIT = 38; - private static final int SPLIT_AFTER = 39; - private static final int CALC_SPLIT = 40; - private static final int DISPLAY_HIDDEN_SHEETS = 41; - private static final int DISPLAY_HIDDEN_ROWS_COLS = 42; - private static final int DISPLAY_FILTERED_ROWS_COLS = 43; - private static final int APPLY_PRINT_RANGES = 44; - private static final int USE_TITLE_AS_HEADING = 45; - private static final int USE_SHEET_NAMES_AS_HEADINGS = 46; - private static final int XSLT_PATH = 47; - private static final int SAVE_IMAGES_IN_SUBDIR = 48; - private static final int UPLINK = 49; - private static final int DIRECTORY_ICON = 50; - private static final int DOCUMENT_ICON = 51; - private static final int ZEN_HACK = 52; // temporary hack for ePub Zen Garden styles + private static final int FOOTNOTES_HEADING = 34; + private static final int EXTERNAL_TOC_DEPTH = 35; + private static final int INCLUDE_TOC = 36; + private static final int SPLIT_LEVEL = 37; + private static final int REPEAT_LEVELS = 38; + private static final int PAGE_BREAK_SPLIT = 39; + private static final int SPLIT_AFTER = 40; + private static final int CALC_SPLIT = 41; + private static final int DISPLAY_HIDDEN_SHEETS = 42; + private static final int DISPLAY_HIDDEN_ROWS_COLS = 43; + private static final int DISPLAY_FILTERED_ROWS_COLS = 44; + private static final int APPLY_PRINT_RANGES = 45; + private static final int USE_TITLE_AS_HEADING = 46; + private static final int USE_SHEET_NAMES_AS_HEADINGS = 47; + private static final int XSLT_PATH = 48; + private static final int SAVE_IMAGES_IN_SUBDIR = 49; + private static final int UPLINK = 50; + private static final int DIRECTORY_ICON = 51; + private static final int DOCUMENT_ICON = 52; + private static final int ZEN_HACK = 53; // temporary hack for ePub Zen Garden styles protected ComplexOption xheading = addComplexOption("heading-map"); protected ComplexOption xpar = addComplexOption("paragraph-map"); @@ -187,6 +188,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { options[FLOAT_OBJECTS] = new BooleanOption("float_objects","true"); options[TABSTOP_STYLE] = new Option("tabstop_style",""); options[ENDNOTES_HEADING] = new Option("endnotes_heading",""); + options[FOOTNOTES_HEADING] = new Option("footnotes_heading",""); options[FORMULAS] = new IntegerOption("formulas","image+starmath") { @Override public void setString(String sValue) { super.setString(sValue); @@ -351,6 +353,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { public boolean xhtmlFloatObjects() { return ((BooleanOption) options[FLOAT_OBJECTS]).getValue(); } public String getXhtmlTabstopStyle() { return options[TABSTOP_STYLE].getString(); } public String getEndnotesHeading() { return options[ENDNOTES_HEADING].getString(); } + public String getFootnotesHeading() { return options[FOOTNOTES_HEADING].getString(); } public int formulas() { return ((IntegerOption) options[FORMULAS]).getValue(); } public int externalTocDepth() { return ((IntegerOption) options[EXTERNAL_TOC_DEPTH]).getValue(); } public boolean includeToc() { return ((BooleanOption) options[INCLUDE_TOC]).getValue(); } diff --git a/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl b/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl index bf87ff0..13a8c81 100644 --- a/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs2/Content.xdl @@ -4,7 +4,7 @@ - + @@ -12,8 +12,10 @@ - - + + + + \ 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 0f66a5c..d342332 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 @@ -37,11 +37,19 @@ - Endnotes + Footnotes and endnotes + + - Heading + Endnote heading In %PRODUCTNAME Writer, endnotes cannot have a heading. If you want to add a heading for the endnotes in the exported document, enter the desired heading here. + + Footnote heading + In %PRODUCTNAME Writer, footnotes (when used as endnotes) cannot have a heading. + 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. + \ No newline at end of file