JabRef version
6.0-alpha2
Operating system
Windows
Details on version and operating system
Windows 11
Checked with the latest development build (copy version output from About dialog)
Steps to reproduce the behaviour
- Start JabRef
- Start a LibreOffice Writer document instance
- Connect to the document instance from JabRef's OO/LO panel
- Open a new library
- Add the following entries to your library:
@Article{Ты2025,
author = {Ты},
title = {You},
year = {2025},
}
@Article{Я2025,
author = {Я},
title = {I},
year = {2025},
}
- Select a CSL style from the "Select Style" dialog of the OO/LO panel
- Cite any of the above entries
- Click the "Make/Sync" bibliography button from the OO/LO panel (not needed if
OO Panel->Settings->Automatically sync bibliography is enabled)
You will observe the following exception (see appendix) along with the error dialog:
No cited entries found in the document.
And log:
2025-06-10 22:32:55 [JavaFX Application Thread] org.jabref.logic.openoffice.ReferenceMark.parse()
WARN: CSLReferenceMark: name=JABREF_Ты2025 CID_1 e2b1z2jv does not match pattern. Assuming random values
Cause
Non-Latin characters are not recognized valid in the "reference marks" format used for LO/OO in JabRef
Hints to solve
Adapt the regex in:
|
private static final Pattern REFERENCE_MARK_FORMAT = Pattern.compile("^(JABREF_[\\w-:./]+ CID_\\d+(?:, JABREF_[\\w-:./]+ CID_\\d+)*) (\\w+)$"); |
|
private static final Pattern ENTRY_PATTERN = Pattern.compile("JABREF_([\\w-:./]+) CID_(\\d+)"); |
Pre-requisite context for people not familiar with this aspect of JabRef:
OO/LO integration: https://docs.jabref.org/cite/openofficeintegration
CSL styles - citing and generating bibliographies: https://blog.jabref.org/2024/08/26/GSoC-CSL/
"Reference marks" in LibreOffice: https://devdocs.jabref.org/code-howtos/openoffice/overview.html (may be slightly outdated but conceptually valid).
Test for completion:
Screen recording of bibliography being successfully generated in the document from the entries mentioned.
Appendix
...
Log File
com.sun.star.uno.RuntimeException: Nothing to unlock
at org.libreoffice.uno/com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:158)
at org.libreoffice.uno/com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:122)
at org.libreoffice.uno/com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:312)
at org.libreoffice.uno/com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:281)
at org.libreoffice.uno/com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:81)
at org.libreoffice.uno/com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:619)
at org.libreoffice.uno/com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:145)
at org.libreoffice.uno/com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:129)
at jdk.proxy2/jdk.proxy2.$Proxy24.unlockControllers(Unknown Source)
at org.jabref/org.jabref.gui.openoffice.OOBibBase.guiActionInsertEntry(OOBibBase.java:619)
at org.jabref/org.jabref.gui.openoffice.OpenOfficePanel.pushEntries(OpenOfficePanel.java:582)
at org.jabref/org.jabref.gui.openoffice.OpenOfficePanel.lambda$initPanel$5(OpenOfficePanel.java:259)
at javafx.base@25-ea/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base@25-ea/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
at javafx.base@25-ea/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
at javafx.base@25-ea/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@25-ea/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base@25-ea/javafx.event.Event.fireEvent(Event.java:199)
at javafx.graphics@25-ea/javafx.scene.Node.fireEvent(Node.java:9005)
at javafx.controls@25-ea/javafx.scene.control.Button.fire(Button.java:203)
at javafx.controls@25-ea/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:207)
at javafx.controls@25-ea/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at javafx.base@25-ea/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at javafx.base@25-ea/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base@25-ea/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
at javafx.base@25-ea/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
at javafx.base@25-ea/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@25-ea/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@25-ea/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@25-ea/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base@25-ea/javafx.event.Event.fireEvent(Event.java:199)
at javafx.graphics@25-ea/javafx.scene.Scene$MouseHandler.process(Scene.java:4005)
at javafx.graphics@25-ea/javafx.scene.Scene.processMouseEvent(Scene.java:1934)
at javafx.graphics@25-ea/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2763)
at javafx.graphics@25-ea/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.get(GlassViewEventHandler.java:352)
at javafx.graphics@25-ea/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.get(GlassViewEventHandler.java:254)
at javafx.graphics@25-ea/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@25-ea/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:386)
at javafx.graphics@25-ea/com.sun.glass.ui.View.handleMouseEvent(View.java:560)
at javafx.graphics@25-ea/com.sun.glass.ui.View.notifyMouse(View.java:946)
at javafx.graphics@25-ea/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@25-ea/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$1(GtkApplication.java:240)
at java.base/java.lang.Thread.run(Thread.java:1447)
JabRef version
6.0-alpha2
Operating system
Windows
Details on version and operating system
Windows 11
Checked with the latest development build (copy version output from About dialog)
Steps to reproduce the behaviour
OO Panel->Settings->Automatically sync bibliographyis enabled)You will observe the following exception (see appendix) along with the error dialog:
And log:
Cause
Non-Latin characters are not recognized valid in the "reference marks" format used for LO/OO in JabRef
Hints to solve
Adapt the regex in:
jabref/jablib/src/main/java/org/jabref/logic/openoffice/ReferenceMark.java
Lines 18 to 19 in 1ba35d2
Pre-requisite context for people not familiar with this aspect of JabRef:
OO/LO integration: https://docs.jabref.org/cite/openofficeintegration
CSL styles - citing and generating bibliographies: https://blog.jabref.org/2024/08/26/GSoC-CSL/
"Reference marks" in LibreOffice: https://devdocs.jabref.org/code-howtos/openoffice/overview.html (may be slightly outdated but conceptually valid).
Test for completion:
Screen recording of bibliography being successfully generated in the document from the entries mentioned.
Appendix
...
Log File