Repository navigation
MarginCarry v0.2.0
MarginCarry v0.2.0
Version 0.1.2 was prepared but never published; its changes ship here. This release adds five interface languages and makes recommendations more accurate when a quote survives only as part of a different word or number. Transfer, confirmation, copies, the journal format, and Undo are unchanged.
Installation
Download margincarry-0.2.0.xpi below. In Zotero, open Tools → Plugins, choose Install Plugin From File… from the gear menu, and select the XPI. Restart Zotero if asked. The neighboring .sha256 file records the package checksum.
Changes
- Languages. Spanish, German, French, Japanese, and Brazilian Portuguese join English and Russian. The window has one button per language, and the menu and the first view follow Zotero's locale. Annotation types and all project-owned messages are translated; quoted PDF text and Zotero's own diagnostics are shown as they are.
- Text in these languages. Matching was checked on real PDFs in all six non-English languages, covering accents, decimal commas, apostrophes, guillemets, German compounds, and Japanese text without word spaces. All 45 cases behaved as expected, and the new unit tests keep them that way.
- Doubtful candidates.
catinconcatenate,notincannot, and41.0in41.03used to be reported as a unique candidate with a recommended location, and Select unique proposals added them. They are now a Doubtful candidate: listed with their exact PDF position and a stated reason, not recommended, not preselected, and skipped by mass selection. You can still inspect one, choose it by hand, and confirm it. - Boundaries. Both ends of the original selection are compared with both ends of each candidate. A deliberately partial selection of a word or number still transfers while the surrounding word or number is unchanged. Moved pages, changed line breaks, and rewritten neighboring sentences are not penalized. Text without word delimiters (Han, Hiragana, Katakana, Thai, and similar scripts) is not guessed, and the reason says so.
- Documentation. The README and the guides were rewritten for new users, with new pages on how matching works, the architecture, and validation.
Verification and limits
Verified: Biome, strict TypeScript, the automated tests, and packaging (npm run check). The dialog was opened in all seven languages in an isolated Zotero 10.0.7 profile on macOS, at 1180 and 900 px wide, and no text was clipped, overlapped, or forced horizontal scrolling. validation/v0.1.2/ holds the records. They were made with the same build under the version number 0.1.2; only the manifest version differs in v0.2.0.
The same isolated profile was used to run the apply, repeat-protection, and Undo cycle through the real dialog: mass selection skipped doubtful candidates, a hand-chosen doubtful candidate was written with its comment, color, and tags, the sources and PDFs were unchanged, a repeat was refused, and Undo removed the copies.
Not verified for this version: the real-revision corpus (LoRA and Attention) was not re-run, and restart persistence and the edited-copy conflict were not repeated (they were verified for v0.1.0 with identical transfer code). The v0.1.0 corpus numbers (23 positive and nine untransferred cases, no wrong recommendations, four recorded strict geometry discrepancies in LoRA) describe the earlier matcher. Windows and Linux have not been tested. Review every proposed location in the PDF before confirming a transfer.
Boundary checks use characters, not meaning: a word added before an unchanged quote, scientific notation, units, hyphenated compounds, and inflected forms are not understood. See How MarginCarry works.