On Wed, Jun 12, 2024 at 09:15:35PM +0300, Udicoudco wrote:
Hello all,
lyxdeleted is a macro used to
mark deleted parts of text when
using "show changes in output"
in track changes. Instead of directly
using \sout there is another helper
macro, \mklyxsout, which is defined as
\DeclareRobustCommand{\mklyxsout}[1]{\ifx\\#1\else\sout{#1}\fi}
If I'm understanding correctly, this macro should test if the argument
#1 is empty, if so it does nothing, otherwise it is feeding the argument
to \sout.
Why is this needed? from testing it appears \sout is just fine
with empty arguments. In addition, I don't think this test is
really robust, I attached an example where the output is wrong.
Since the first object in the deleted part is \\ the comparison
result with the true branch, so \sout is not applied and the \\
is not used.
This was originally done for not using \sout with display math
equations, as they were striked out using tikz. See
https://www.lyx.org/trac/changeset/261e7ae9/lyxgit
For example, the code was outputing
case hullEquation:
if (os.strikeoutMath())
os << "\\\\\\\\\n\\lyxmathsout{\\parbox{\\columnwidth}{";
and it was \lyxmathsout that striked the equation. The "\\\\\\\\\n"
header there was signaling to skip \sout.
However, seemingly it is now done differently and this header is not
necessary anymore.
--
Enrico
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel