diff --git a/CHANGELOG.md b/CHANGELOG.md index faa03f1a7ca..debed99a1f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv - When importing entries form the "Citation relations" tab, the field [cites](https://docs.jabref.org/advanced/entryeditor/entrylinks) is now filled according to the relationship between the entries. [#10572](https://github.com/JabRef/jabref/pull/10752) - We added a new group icon column to the main table showing the icons of the entry's groups. [#10801](https://github.com/JabRef/jabref/pull/10801) - We added ability to jump to an entry in the command line using `-j CITATIONKEY`. [koppor#540](https://github.com/koppor/jabref/issues/540) +- We added a new boolean to the style files for Openoffice/Libreoffice integration to switch between ZERO_WIDTH_SPACE (default) and no space. [#10843](https://github.com/JabRef/jabref/pull/10843) ### Changed diff --git a/src/main/java/org/jabref/logic/openoffice/frontend/UpdateCitationMarkers.java b/src/main/java/org/jabref/logic/openoffice/frontend/UpdateCitationMarkers.java index 3993afdf9a0..9f5f1eeb99d 100644 --- a/src/main/java/org/jabref/logic/openoffice/frontend/UpdateCitationMarkers.java +++ b/src/main/java/org/jabref/logic/openoffice/frontend/UpdateCitationMarkers.java @@ -78,8 +78,11 @@ public static void fillCitationMarkInCursor(XTextDocument doc, if (withText) { OOText citationText2 = style.decorateCitationMarker(citationText); - // inject a ZERO_WIDTH_SPACE to hold the initial character format - final String ZERO_WIDTH_SPACE = "\u200b"; + String ZERO_WIDTH_SPACE = ""; + if (style.spaceBeforeCitation()) { + // inject a ZERO_WIDTH_SPACE to hold the initial character format + ZERO_WIDTH_SPACE = "\u200b"; + } citationText2 = OOText.fromString(ZERO_WIDTH_SPACE + citationText2.toString()); OOTextIntoOO.write(doc, cursor, citationText2); } else { diff --git a/src/main/java/org/jabref/logic/openoffice/style/OOBibStyle.java b/src/main/java/org/jabref/logic/openoffice/style/OOBibStyle.java index d0e5fa605ab..36650dc662b 100644 --- a/src/main/java/org/jabref/logic/openoffice/style/OOBibStyle.java +++ b/src/main/java/org/jabref/logic/openoffice/style/OOBibStyle.java @@ -109,6 +109,7 @@ public class OOBibStyle implements Comparable { private static final String AUTHOR_FIELD = "AuthorField"; private static final String BRACKET_AFTER = "BracketAfter"; private static final String BRACKET_BEFORE = "BracketBefore"; + private static final String SPACE_BEFORE = "SpaceBefore"; private static final String IS_NUMBER_ENTRIES = "IsNumberEntries"; private static final String IS_SORT_BY_POSITION = "IsSortByPosition"; private static final String SORT_ALGORITHM = "SortAlgorithm"; @@ -203,6 +204,7 @@ private void setDefaultProperties() { citProperties.put(IN_TEXT_YEAR_SEPARATOR, " "); citProperties.put(BRACKET_BEFORE, "("); citProperties.put(BRACKET_AFTER, ")"); + citProperties.put(SPACE_BEFORE, Boolean.TRUE); citProperties.put(CITATION_SEPARATOR, "; "); citProperties.put(PAGE_INFO_SEPARATOR, "; "); citProperties.put(GROUPED_NUMBERS_SEPARATOR, "-"); @@ -493,6 +495,10 @@ public boolean isFormatCitations() { return (Boolean) citProperties.get(FORMAT_CITATIONS); } + public boolean spaceBeforeCitation() { + return (Boolean) citProperties.get(SPACE_BEFORE); + } + public boolean isCitationKeyCiteMarkers() { return (Boolean) citProperties.get(CITATION_KEY_CITATIONS); } diff --git a/src/test/resources/org/jabref/logic/openoffice/style/test.jstyle b/src/test/resources/org/jabref/logic/openoffice/style/test.jstyle index 3ecd9bfbf08..7d81444002c 100644 --- a/src/test/resources/org/jabref/logic/openoffice/style/test.jstyle +++ b/src/test/resources/org/jabref/logic/openoffice/style/test.jstyle @@ -27,6 +27,7 @@ FormatCitations="false" CitationCharacterFormat="Default" PageInfoSeparator="; " OxfordComma="," +SpaceBefore="true" LAYOUT article=\format[Authors(LastFirst,Semicolon)]{\author} (\year\uniq). \title, \journal \volume\begin{pages} : \format[FormatPagesForHTML]{\pages}\end{pages}. diff --git a/src/test/resources/org/jabref/logic/openoffice/style/testWithDefaultAtFirstLIne.jstyle b/src/test/resources/org/jabref/logic/openoffice/style/testWithDefaultAtFirstLIne.jstyle index 2a4dcf7a697..f2d7d13611a 100644 --- a/src/test/resources/org/jabref/logic/openoffice/style/testWithDefaultAtFirstLIne.jstyle +++ b/src/test/resources/org/jabref/logic/openoffice/style/testWithDefaultAtFirstLIne.jstyle @@ -27,6 +27,7 @@ FormatCitations="false" CitationCharacterFormat="Default" PageInfoSeparator="; " OxfordComma="," +SpaceBefore="true" LAYOUT