From 54a7c265f2e8f271e8a452815e1e878254dad332 Mon Sep 17 00:00:00 2001 From: henrikjust Date: Tue, 4 May 2010 08:25:15 +0000 Subject: [PATCH] W2L display equations + W2X list numbering enhancements git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@61 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 11 +- source/distro/doc/user-manual.odt | Bin 48133 -> 48233 bytes .../writer2xhtml/ConfigurationDialog.java | 4 +- .../writer2latex/api/ConverterFactory.java | 4 +- .../writer2latex/latex/MathmlConverter.java | 79 ++++++++++---- .../writer2latex/latex/TableConverter.java | 6 +- .../java/writer2latex/office/ListCounter.java | 42 +++++--- .../xhtml/ListStyleConverter.java | 96 ++++++++++++++---- .../writer2latex/xhtml/TextConverter.java | 50 +++++---- .../java/writer2latex/xhtml/XhtmlConfig.java | 37 +++---- .../writer2xhtml/W2XDialogs2/Formatting.xdl | 5 +- 11 files changed, 231 insertions(+), 103 deletions(-) diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index ad09807..b0f45cd 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -1,9 +1,18 @@ Changelog for Writer2LaTeX version 1.0 -> 1.2 -TODO2: Tilføj ?-knap til xhtml export dialoger +TODO: Problem med genkendelse af display formler i w2l?? ---------- version 1.1.3 ---------- +[w2x] New option "use_hard_list_numbering". If this option is set to true (default is false), list labels are exported as + part of the text rather than by style. This allows for full support of list numbering. + +[w2x] Now includes a space after the list label if the list style defines that the label is followed by a tab or a space + +[w2l] Now recognize the "numbered formula" AutoText provided with OOo as a display equation + +[w2l] Bugfix: Display equations in flat XML are now recognized correctly + [w2x] Bugfix: Now adds XML prolog for XHTML 1.1 documents [w2x] XHTML templates without and/or are now allowed. If no content element is found, the diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt index b762c89a1122fa5dfb672799c6cabf4048df7cb1..d54fcb1f983d3748ed28f0eb25848301db4113cc 100644 GIT binary patch delta 37883 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 Kh0ojkTkt>7z+c<| delta 37798 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

O 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

1=vES%0kMI|wg58|; zmeR%hfs>`*rnQM*rfN<1y^SikY2ZCgYUJ;=o=C;b%xSUb1!wvA8PUkZeh`s=+V@nRu$((^q5GwH2mV1crDM zS99;TGv+(gozfcB%o@s$ui{U_+;VCQ3^2N$Vwpj$n^q|}g8Il`JS6!)>speqoIdz4wxlxW} z+E$0OHjxrGeS*GJg=pLi=6ufhvJRyIy-tz<8Ykv#I;D4lDyrR*OAY;e_BZ00!zRJN z@EsGj2egc75=xv-n^~6-`!3^GGbBojBDqE6QjkEhj@FXVMMd9PLfR&xQle@7lN$vu zA{3aS1!<_@wlJ*zKUq{xcR5KplnTMZCZVRYDml@dsZi+ddW5=reeRmGS65mCt#`Kg#&ld zK%>r1{XGE7@P)v{LFK$}Xr#|hWWjDVX69;T04@K)Kx_T*cT@FlgYvzLz1*dSA0)np z>K9`~5f2)*P#ID?-+oXYUe0))y%4Cm)qJ{wwL3(VA)@q3=Y{y>8QyR28UpsZGOB*#i@? zefh{;WxeVK)D2WCu}yP3641Ty&J5m~Ku%y@7avTvv}C48`)wYljF;|a*l7M9Zj52_ zK0lxIQE=cFxNY63lk;Vzx}6XJG<8(-IlThU1d*qOd~g>DYRRGUbe3(RZsG?op@fua zC4M>ts{%SFIZ>_;{hb)gw-dcnDmQ7zg*c1-_@@@<>?tbF(72utMS2;di-PT^14l?O zvH}baGLA7s76CN0?4le5fd+gWRlzIMlRq08I*8phWj%OSTcYhKbG`!pWZj3`FUdXz z-sFA1uR~hDksjDM(|thjJ-JRpYYMTbB8I!(rM4u4DHih?@OD$+y%eo`T;L}aO9x3x z-77yF^>?(+GG==$qJ^3x9Nj4Aenmdbl*XM|oNgdwLJYHsuh&~u{L14bP_4+qfUJu* zKZl>bW30=rrpifbbJhc%?t-?`c*&zttuijU{YkId_7R&fJ}t(q{3n*vM_aKUGZwhB zm>S_DKHtV}M8|de*E&7Y+-qBFU*X6KYvJ=xT`nx44YG;FX<}_om&J_SV)Nd-ZT9i< zauUw$icD2bLuy=uQr z6%wy9iTIT&dHEje&TSGrr&YJ@?JTAkz{N!ItV$6CcX5>Y)*Qm=xWEjDj*sG6?5p4< zzg34QpRXQ__*w!^V$CT5(OGgA6LA!R^XJE`n+G$g&)CGExXDcgl}{7|4|*2I6Ta=! zV7j0b6s>28Hbo`_WdwOd1CH{_$V$1YQwVcM2zBhz>-;M?-DC@;-n_x;L<=lo{=G$8xN8jl1sn)em0Od5^A|>vb;5tGW8K5QwysX?uO+UR|EC;^ zwy)>@t5fS0|EYtV2n5PQ_cZY7{3-c2k#Aks{4c@4 zAds1Zy{m=2E5C=Gttt`+mjd(`*ni*j-;lofzh2i$1FhUhOZaE-Ke$HQH&Q{JF(A+% z9RHtz(3y=;936CHBPZ-nmwzwKwF~gClz_%*g8rQutO<%MP=hY3p{7zr;$N>L2t;~) Nap8eL-L-%2{sSaNMPmQ} diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java b/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java index a8bed12..26f00ea 100644 --- a/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java +++ b/source/java/org/openoffice/da/comp/writer2xhtml/ConfigurationDialog.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * -* Version 1.2 (2010-04-09) +* Version 1.2 (2010-05-04) * */ @@ -364,6 +364,7 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer checkBoxFromConfig(dlg, "IgnoreTableDimensions", "ignore_table_dimensions"); checkBoxFromConfig(dlg, "UseListHack", "use_list_hack"); + checkBoxFromConfig(dlg, "UseHardListNumbering", "use_hard_list_numbering"); //TODO: These have been postponed //checkBoxFromConfig(dlg, "ConvertToPx", "convert_to_px"); //checkBoxFromConfig(dlg, "SeparateStylesheet", "separate_stylesheet"); @@ -378,6 +379,7 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer checkBoxToConfig(dlg, "IgnoreTableDimensions", "ignore_table_dimensions"); checkBoxToConfig(dlg, "UseListHack", "use_list_hack"); + checkBoxToConfig(dlg, "UseHardListNumbering", "use_hard_list_numbering"); //TODO: These have been postponed //checkBoxToConfig(dlg, "ConvertToPx", "convert_to_px"); //checkBoxToConfig(dlg, "SeparateStylesheet", "separate_stylesheet"); diff --git a/source/java/writer2latex/api/ConverterFactory.java b/source/java/writer2latex/api/ConverterFactory.java index 7a62c4c..f60dad8 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-04-23) + * Version 1.2 (2010-05-04) * */ @@ -33,7 +33,7 @@ public class ConverterFactory { // Version information private static final String VERSION = "1.1.3"; - private static final String DATE = "2010-04-23"; + private static final String DATE = "2010-05-04"; /** Return the Writer2LaTeX version in the form * (major version).(minor version).(patch level)
diff --git a/source/java/writer2latex/latex/MathmlConverter.java b/source/java/writer2latex/latex/MathmlConverter.java index d8ab27d..123d599 100644 --- a/source/java/writer2latex/latex/MathmlConverter.java +++ b/source/java/writer2latex/latex/MathmlConverter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2010-02-19) + * Version 1.2 (2010-04-29) * */ @@ -36,6 +36,7 @@ import org.w3c.dom.NodeList; //import writer2latex.latex.i18n.I18n; import writer2latex.office.MIMETypes; import writer2latex.office.OfficeReader; +import writer2latex.office.TableReader; import writer2latex.office.XMLString; import writer2latex.util.Misc; import writer2latex.xmerge.EmbeddedObject; @@ -108,42 +109,77 @@ public final class MathmlConverter extends ConverterHelper { // Data for display equations private Element theEquation = null; private Element theSequence = null; + + /** Try to convert a table as a display equation: + * A 1 row by 2 columns table in which each cell contains exactly one paragraph, + * the left cell contains exactly one formula and the right cell contains exactly + * one sequence number is treated as a (numbered) display equation. + * This happens to coincide with the AutoText provided with OOo Writer :-) + * @param table the table reader + * @param ldp the LaTeXDocumentPortion to contain the converted equation + * @return true if the conversion was successful, false if the table + * did not represent a display equation + */ + public boolean handleDisplayEquation(TableReader table, LaTeXDocumentPortion ldp) { + if (table.getRowCount()==1 && table.getColCount()==2 && + OfficeReader.isSingleParagraph(table.getCell(0, 0)) && OfficeReader.isSingleParagraph(table.getCell(0, 1)) ) { + // Table of the desired form + theEquation = null; + theSequence = null; + if (parseDisplayEquation(Misc.getFirstChildElement(table.getCell(0, 0))) && theEquation!=null && theSequence==null) { + // Found equation in first cell + Element myEquation = theEquation; + theEquation = null; + theSequence = null; + if (parseDisplayEquation(Misc.getFirstChildElement(table.getCell(0, 1))) && theEquation==null && theSequence!=null) { + // Found sequence in second cell + handleDisplayEquation(myEquation, theSequence, ldp); + return true; + } + } + } + return false; + } /**Try to convert a paragraph as a display equation: * A paragraph which contains exactly one formula + at most one sequence * number is treated as a display equation. Other content must be brackets - * or whitespace (possible with formatting). + * or whitespace (possibly with formatting). * @param node the paragraph * @param ldp the LaTeXDocumentPortion to contain the converted equation - * @return true if the conversion was succesful, false if the paragraph + * @return true if the conversion was successful, false if the paragraph * did not contain a display equation */ public boolean handleDisplayEquation(Element node, LaTeXDocumentPortion ldp) { theEquation = null; theSequence = null; if (parseDisplayEquation(node) && theEquation!=null) { - if (theSequence!=null) { - // Numbered equation - ldp.append("\\begin{equation}"); - palette.getFieldCv().handleSequenceLabel(theSequence,ldp); - ldp.nl() - .append(convert(null,theEquation)).nl() - .append("\\end{equation}").nl(); - if (bAddParAfterDisplay) { ldp.nl(); } - } - else { - // Unnumbered equation - ldp.append("\\begin{equation*}").nl() - .append(convert(null,theEquation)).nl() - .append("\\end{equation*}").nl(); - if (bAddParAfterDisplay) { ldp.nl(); } - } - return true; + handleDisplayEquation(theEquation, theSequence, ldp); + return true; } else { return false; } } + + private void handleDisplayEquation(Element equation, Element sequence, LaTeXDocumentPortion ldp) { + if (sequence!=null) { + // Numbered equation + ldp.append("\\begin{equation}"); + palette.getFieldCv().handleSequenceLabel(sequence,ldp); + ldp.nl() + .append(convert(null,equation)).nl() + .append("\\end{equation}").nl(); + if (bAddParAfterDisplay) { ldp.nl(); } + } + else { + // Unnumbered equation + ldp.append("\\begin{equation*}").nl() + .append(convert(null,equation)).nl() + .append("\\end{equation*}").nl(); + if (bAddParAfterDisplay) { ldp.nl(); } + } + } private boolean parseDisplayEquation(Node node) { Node child = node.getFirstChild(); @@ -210,7 +246,7 @@ public final class MathmlConverter extends ConverterHelper { if (Misc.isElement(node,XMLString.DRAW_FRAME)) { node=Misc.getFirstChildElement(node); } - + String sHref = Misc.getAttribute(node,XMLString.XLINK_HREF); if (sHref!=null) { // Embedded object in package or linked object @@ -243,6 +279,7 @@ public final class MathmlConverter extends ConverterHelper { if (formula==null) { formula = Misc.getChildByTagName(node,XMLString.MATH_MATH); } + return formula; } return null; } diff --git a/source/java/writer2latex/latex/TableConverter.java b/source/java/writer2latex/latex/TableConverter.java index da0b186..c431220 100644 --- a/source/java/writer2latex/latex/TableConverter.java +++ b/source/java/writer2latex/latex/TableConverter.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-08-23) + * Version 1.2 (2010-04-29) * */ @@ -165,6 +165,8 @@ public class TableConverter extends ConverterHelper { // Read the table table = ofr.getTableReader(node); + + if (palette.getMathmlCv().handleDisplayEquation(table,ldp)) { return; } // Get formatter and update flags according to formatter formatter = new TableFormatter(ofr,config,palette,table,!oc.isInMulticols(),oc.isInTable()); diff --git a/source/java/writer2latex/office/ListCounter.java b/source/java/writer2latex/office/ListCounter.java index b18d46b..be4b06d 100644 --- a/source/java/writer2latex/office/ListCounter.java +++ b/source/java/writer2latex/office/ListCounter.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-12-15) + * Version 1.2 (2010-05-04) * */ @@ -99,20 +99,30 @@ public class ListCounter { } public String getLabel() { - 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 sLabel=""; - if (sPrefix!=null) { sLabel+=sPrefix; } - for (int j=nLevel-nLevels+1; j1) { + props.addValue("margin-left", "2em"); + } + else { + props.addValue("margin-left","0"); + } + + // Also reset the padding (some browsers use a non-zero default value) + props.addValue("padding-left", "0"); } + // We don't want floats to pass a list to the left (Mozilla and IE both //handles this terribly!) props.addValue("clear:left"); } + + private void cssListParMargins(ListStyle style, int nLevel, CSVList props){ + // Instead margin is applied to the paragraphs in the list, more precisely the list style defines a + // left margin and a text indent to *replace* the values from the paragraph style + String sMarginLeft = style.getLevelStyleProperty(nLevel, XMLString.FO_MARGIN_LEFT); + if (sMarginLeft!=null) { + props.addValue("margin-left", sMarginLeft); + } + else { + props.addValue("margin-left", "0"); + } + String sTextIndent = style.getLevelStyleProperty(nLevel, XMLString.FO_TEXT_INDENT); + if (sTextIndent!=null) { + props.addValue("text-indent", sTextIndent); + } + else { + props.addValue("text-indent", "0"); + } + } diff --git a/source/java/writer2latex/xhtml/TextConverter.java b/source/java/writer2latex/xhtml/TextConverter.java index a9129e0..2815141 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-03-29) + * Version 1.2 (2010-05-04) * */ @@ -91,6 +91,8 @@ public class TextConverter extends ConverterHelper { private ListCounter outlineNumbering; private Hashtable listCounters = new Hashtable(); private String sCurrentListLabel = null; + private ListStyle currentListStyle = null; + private int nCurrentListLevel = 0; // Mode used to handle floats (depends on source doc type and config) private int nFloatMode; @@ -555,20 +557,8 @@ public class TextConverter extends ConverterHelper { ListCounter counter = getListCounter(listStyle); if (bRestart) { counter.restart(nListLevel,nStartValue); } String sLabel = counter.step(nListLevel).getLabel(); - if (!bUnNumbered && sLabel.length()>0) { - Element span = converter.createElement("span"); - StyleInfo info = new StyleInfo(); - info.sClass = "SectionNumber"; - if (listStyle!=null) { - String sTextStyleName = listStyle.getLevelProperty( - nListLevel,XMLString.TEXT_STYLE_NAME); - getTextSc().applyStyle(sTextStyleName, info); - } - getTextSc().applyStyle(info, span); - heading.appendChild(span); - span.appendChild( converter.createTextNode(sLabel) ); - } - + insertListLabel(listStyle,nListLevel,"SectionNumber",sLabel,heading); + // Add to toc if (!bInToc) { String sTarget = "toc"+(++nTocIndex); @@ -634,16 +624,20 @@ public class TextConverter extends ConverterHelper { entry.nFileIndex = converter.getOutFileIndex(); tocEntries.add(entry); } - sCurrentListLabel = null; if (!bIsEmpty) { par = createTextBackground(par, sStyleName); + if (config.useHardListNumbering()) { + insertListLabel(currentListStyle, nCurrentListLevel, "ItemNumber", sCurrentListLabel, par); + } + sCurrentListLabel = null; traverseInlineText(onode,par); } else { // An empty paragraph (this includes paragraphs that only contains // whitespace) is ignored by the browser, hence we add   par.appendChild( converter.createTextNode("\u00A0") ); + sCurrentListLabel = null; } } @@ -684,6 +678,22 @@ public class TextConverter extends ConverterHelper { return new ListCounter(); } } + + // Helper: Insert a list label formatted with a list style + private void insertListLabel(ListStyle style, int nLevel, String sDefaultStyle, String sLabel, Element hnode) { + if (sLabel!=null && sLabel.length()>0) { + Element span = converter.createElement("span"); + StyleInfo info = new StyleInfo(); + info.sClass = sDefaultStyle; + if (style!=null) { + String sTextStyleName = style.getLevelProperty(nLevel,XMLString.TEXT_STYLE_NAME); + getTextSc().applyStyle(sTextStyleName, info); + } + getTextSc().applyStyle(info, span); + hnode.appendChild(span); + span.appendChild( converter.createTextNode(sLabel) ); + } + } // Helper: Check if a list contains any items private boolean hasItems(Node onode) { @@ -765,7 +775,7 @@ public class TextConverter extends ConverterHelper { if (!bContinueNumbering && counter!=null) { counter.restart(nLevel); } - if (config.xhtmlUseListHack() && counter.getValue(nLevel)>0) { + if (config.xhtmlUseListHack() && !config.useHardListNumbering() && counter.getValue(nLevel)>0) { hnode.setAttribute("start",Integer.toString(counter.getValue(nLevel)+1)); } } @@ -796,12 +806,14 @@ public class TextConverter extends ConverterHelper { else { // add an li element sCurrentListLabel = counter.step(nLevel).getLabel(); + currentListStyle = ofr.getListStyle(styleName); + nCurrentListLevel = nLevel; Element item = converter.createElement("li"); StyleInfo info = new StyleInfo(); getPresentationSc().applyOutlineStyle(nLevel,info); applyStyle(info,item); hnode.appendChild(item); - if (config.xhtmlUseListHack()) { + if (config.xhtmlUseListHack() && !config.useHardListNumbering()) { boolean bRestart = "true".equals(Misc.getAttribute(child, XMLString.TEXT_RESTART_NUMBERING)); int nStartValue = Misc.getPosInteger(Misc.getAttribute(child, @@ -893,7 +905,7 @@ public class TextConverter extends ConverterHelper { // A fake list is a list which is converted into a sequence of numbered // paragraphs rather than into a list. - // Currently this is done for list which only containsheadings + // Currently this is done for list which only contains headings // Helper: Check to see, if this list contains only headings // (If so, we will ignore the list and apply the numbering to the headings) diff --git a/source/java/writer2latex/xhtml/XhtmlConfig.java b/source/java/writer2latex/xhtml/XhtmlConfig.java index 12ff410..498d7f0 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-04-09) + * Version 1.2 (2010-05-04) * */ @@ -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 @@ -93,21 +93,22 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { private static final int FLOAT_OBJECTS = 24; private static final int TABSTOP_STYLE = 25; private static final int USE_LIST_HACK = 26; - private static final int FORMULAS = 27; - private static final int SPLIT_LEVEL = 28; - private static final int REPEAT_LEVELS = 29; - private static final int CALC_SPLIT = 30; - private static final int DISPLAY_HIDDEN_SHEETS = 31; - private static final int DISPLAY_HIDDEN_ROWS_COLS = 32; - private static final int DISPLAY_FILTERED_ROWS_COLS = 33; - private static final int APPLY_PRINT_RANGES = 34; - private static final int USE_TITLE_AS_HEADING = 35; - private static final int USE_SHEET_NAMES_AS_HEADINGS = 36; - private static final int XSLT_PATH = 37; - private static final int SAVE_IMAGES_IN_SUBDIR = 38; - private static final int UPLINK = 39; - private static final int DIRECTORY_ICON = 40; - private static final int DOCUMENT_ICON = 41; + private static final int USE_HARD_LIST_NUMBERING = 27; + private static final int FORMULAS = 28; + private static final int SPLIT_LEVEL = 29; + private static final int REPEAT_LEVELS = 30; + private static final int CALC_SPLIT = 31; + private static final int DISPLAY_HIDDEN_SHEETS = 32; + private static final int DISPLAY_HIDDEN_ROWS_COLS = 33; + private static final int DISPLAY_FILTERED_ROWS_COLS = 34; + private static final int APPLY_PRINT_RANGES = 35; + private static final int USE_TITLE_AS_HEADING = 36; + private static final int USE_SHEET_NAMES_AS_HEADINGS = 37; + private static final int XSLT_PATH = 38; + private static final int SAVE_IMAGES_IN_SUBDIR = 39; + private static final int UPLINK = 40; + private static final int DIRECTORY_ICON = 41; + private static final int DOCUMENT_ICON = 42; protected ComplexOption xpar = addComplexOption("paragraph-map"); protected ComplexOption xtext = addComplexOption("text-map"); @@ -145,6 +146,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { options[FLOAT_OBJECTS] = new BooleanOption("float_objects","true"); options[TABSTOP_STYLE] = new Option("tabstop_style",""); options[USE_LIST_HACK] = new BooleanOption("use_list_hack","false"); + options[USE_HARD_LIST_NUMBERING] = new BooleanOption("use_hard_list_numbering","false"); options[FORMULAS] = new IntegerOption("formulas","starmath") { public void setString(String sValue) { super.setString(sValue); @@ -268,6 +270,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 boolean xhtmlUseListHack() { return ((BooleanOption) options[USE_LIST_HACK]).getValue(); } + public boolean useHardListNumbering() { return ((BooleanOption) options[USE_HARD_LIST_NUMBERING]).getValue(); } public int formulas() { return ((IntegerOption) options[FORMULAS]).getValue(); } public int getXhtmlSplitLevel() { return ((IntegerOption) options[SPLIT_LEVEL]).getValue(); } public int getXhtmlRepeatLevels() { return ((IntegerOption) options[REPEAT_LEVELS]).getValue(); } diff --git a/source/oxt/writer2xhtml/W2XDialogs2/Formatting.xdl b/source/oxt/writer2xhtml/W2XDialogs2/Formatting.xdl index cf6015a..d28f09a 100644 --- a/source/oxt/writer2xhtml/W2XDialogs2/Formatting.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs2/Formatting.xdl @@ -24,7 +24,8 @@ - - + + + \ No newline at end of file