drehscheibe / soul Goto Github PK
View Code? Open in Web Editor NEWLaTeX package "soul" for letterspacing, underlining, striking out and other evil things
LaTeX package "soul" for letterspacing, underlining, striking out and other evil things
Using soul
sometimes breaks page numbering. This happens in particular when the highlighted/underlined text contains a paragraph break and appears near a page break. The fix would be a one-line change.
This bug was brought up in this question on StackExchange, as well as in a few other questions that have since been closed as duplicates. The questions and the answers contain some sample documents demonstrating the problem. A solution is proposed in my answer to the question.
The problem lies in the fact that soul
uses\count0
, which also holds the page number, as a local scratch register. Using \count0
in this manner is only safe if it is guaranteed that no page breaks may be triggered within the scope where it is used. This is not always true in soul
's case.
To solve the problem, the line
\countdef\SOUL@minus\z@
in soul.dtx would simply need to be replaced by (for instance)
\newcount\SOUL@minus
Replacing the \z@
by 8
would also resolve the issue, but could still lead to similar problems if an output routine is employed that uses this register. A few of the other registers used by soul
should probably also be similarly reserved.
as described here
https://tex.stackexchange.com/questions/520312/pdfx-causes-soul-to-stop-working
soul uses \dimen@ in a few places where it may be over-written by other code (and in fact it is overwritten by xcolor package in some places)
Would it be possible to make an update which uses a soul-specific allocated register instead of \dimen@ ?
CTAN marks soul as unmaintained,
would you be happy if we merged it with the soulutf8 distribution and maintained this from
https://github.com/ho-tex/soul
which currently builds the soulutf8 extension
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.