Hi! Thanks for the very useful package, I'm opening this issue to start a discussion around margin notes. Here is the issue that I'm hitting in another package: nogula/tufte-memo#5, prompting me to discuss things here :)
So tufte-memo uses drafting's margin notes to implement its own margin notes (which work like numbered footnotes), but is hitting issues related to how the current margin-note interface works:
- either
dy is left to auto, and notes are automatically shifted to not overlap, as much as possible
- or
dy is set to a value, and notes are not automatically shifted when overlapping
tufte-memo currently made the choice to set dy to -2em to try to align a margin note with the line where it originated (instead of starting the note "1 line below", which seems to be the default for drafting). But in doing so, its users miss out on the auto-shift feature.
I think there are several solutions to this problem:
- The ergonomic "auto-shift" feature could be decoupled from
dy: as a user, I could hint to where I want the note to be placed by default, AND want the package to move it to the best place should it overlap with another note.
drafting could provide a global setting for how margin notes should be positioned relative to the line where they were created (this would be different from dy, which is a granular, per-note adjustment)
- If you think this is out of scope for
drafting, then tufte-memo should implement its own margin note rendering logic (or even better, depend on a common hypothetical margin-notes package which is flexible enough to suit both tufte-memo and drafting's use cases?)
- Maybe it's already possible to achieve such functionality, in this case I couldn't find how :)
Hi! Thanks for the very useful package, I'm opening this issue to start a discussion around margin notes. Here is the issue that I'm hitting in another package: nogula/tufte-memo#5, prompting me to discuss things here :)
So
tufte-memousesdrafting's margin notes to implement its own margin notes (which work like numbered footnotes), but is hitting issues related to how the currentmargin-noteinterface works:dyis left toauto, and notes are automatically shifted to not overlap, as much as possibledyis set to a value, and notes are not automatically shifted when overlappingtufte-memocurrently made the choice to setdyto-2emto try to align a margin note with the line where it originated (instead of starting the note "1 line below", which seems to be the default fordrafting). But in doing so, its users miss out on the auto-shift feature.I think there are several solutions to this problem:
dy: as a user, I could hint to where I want the note to be placed by default, AND want the package to move it to the best place should it overlap with another note.draftingcould provide a global setting for how margin notes should be positioned relative to the line where they were created (this would be different fromdy, which is a granular, per-note adjustment)drafting, thentufte-memoshould implement its own margin note rendering logic (or even better, depend on a common hypotheticalmargin-notespackage which is flexible enough to suit bothtufte-memoanddrafting's use cases?)