ich möchte mehrere Dateien aus einem lokalen Ordner mit Unterordnern in eine neue Bibliothek einbinden. Das funktioniert grundsätzlich auch, allerdings wird nur bei wenigen Dateien ein relativer Pfad gespeichert; bei dem Großteil der Daten wird ein absoluter Pfad hinterlegt. Ziel ist, alle Dateien über relative Pfade zu speichern, damit die Bibliothek auch unter anderen Laufwerksnamen funktioniert.
Unter den Dateieinstellungen ist “Dateien relativ zum Speicherort der Bibliothek suchen und speichern” aktiviert.
Die eingelesenen Daten werden als “Misc” oder “InProceedings” aufgenommen. Die InProceedings haben alle absolute Pfade. Die Misc-Dateien überwiegend (aber nicht ausschließlich) relative Pfade.
Ich habe nicht gefunden, dass man den Pfad (relativ/absolut) abhängig vom Eintragstyp ändern kann.
Ich hoffe, das Problem ist verständlich und jemand hat eine Idee.
Vielen Dank schonmal.
da viele JabRef Entwickler aus Deutschland kommen, geht das
das klingt interessant. Eine Option wäre mal einen Cleanup durchzuführen:
Quallität → Aufräumen → Pfade verlinkter Dateien zu relativen Pfaden ändern (falls möglich) .
es freut uns, JabRef-Nutzende zu sehen, die auch eher versteckte Features von JabRef benutzen!
Es scheint das folgende Feature zu sein:
Das funktioniert grundsätzlich auch, allerdings wird nur bei wenigen Dateien ein relativer Pfad gespeichert; bei dem Großteil der Daten wird ein absoluter Pfad hinterlegt.
Das ist ein Fehler der bei “Find unlinked files” und sollte behoben werden.
Ich nehme an, die Dateien liegen in einem Unterverzeichnis der Bibliothek, oder liegen sie in einem Über- oder Schwesterverzeichnis?
Der Vorschlag von Christoph ist auch sehr cool, vor allem wenn man das Verzeichnis der Bibliothek ändert. – Allerdings sollte “Suche nach nicht verlinkten Dateien” auch ohne dieses Feature gut genug funktionieren…
Die Option mit " Pfade verlinkter Dateien zu relativen Pfaden ändern (falls möglich)" habe ich halb erfolgreich getest
Wenn ich einen einzelnen Datensatz auswähle und “Einträge bereinigen” wähle, klappt es problemlos. Sofern ich mehrere Datensätze markiere, kommt bei 8 von 10 Versuchen die Fehlermeldung “Unbehandelte Ausnahme aufgetreten.” Ich kopier euch unten mal die Fehlerdetails hin (von denen ich nichts verstehe). Ergebnis ist, dass nur bei einem Datensatz der absolute in einen relativen Pfad umgewandelt wird. Wenn ich genau die zuvor ausgewählten Datensätze einzeln verarbeite, kann ich die Pfade wie gewünscht umwandeln.
Grundsätzlich funktioniert es also – ist nur etwas mühsam.
Die bib-Datei liegt im Verhältnis zu den eingelesenen Dateine übrigens in einen Überverzeichnis.
Viele Grüße
Nadja
Details zu “Unbehandelte Ausnahme aufgetreten.”:
The exception stacktrace was:
java.util.ConcurrentModificationException
at java.base/java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.base/java.util.AbstractList$Itr.next(Unknown Source)
at org.jabref@5.15.60000/org.jabref.gui.cleanup.CleanupAction.cleanup(Unknown Source)
at org.jabref@5.15.60000/org.jabref.gui.cleanup.CleanupAction.lambda$execute$1(Unknown Source)
at org.jabref@5.15.60000/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
at org.jabref@5.15.60000/org.jabref.gui.util.BackgroundTask$2.call(Unknown Source)
at org.jabref@5.15.60000/org.jabref.gui.util.UiTaskExecutor$1.call(Unknown Source)
at javafx.graphics@22.0.1/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)