Menu

#17 Math mode inside of a \replaced or \add ?

bug
closed-wont-fix
None
5
2015-04-27
2014-06-11
No

Getting a weird issue that only comes up if I attempt to show changes in a document.

Version:
changes-Paket 2013/08/13 v2.0.2
Preamble:

\documentclass[journal]{IEEEtran}
\usepackage{etex}
\usepackage{hhline}
\usepackage{graphicx}
\usepackage{url}
\usepackage{fixltx2e}
\usepackage{multirow}
\usepackage[cmex10]{amsmath}
\usepackage{cite}
\usepackage{setspace}
\usepackage{array}
\usepackage{amssymb}
\usepackage[noend]{algpseudocode}
\usepackage{subcaption}
%\usepackage{program} % conflicts with tikz
\usepackage{multirow}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{changes}
\definechangesauthor[name={author}, color=orange]{len}

\usepackage{tikz,pgfplots}

error:
[2
./algorithm.tex:133: Undefined control sequence.
<write> ...et id,\XKV@tempa@toks {id,}\edef \@nil
}\XKV@tempa@toks {id}\edef...
l.133

./algorithm.tex:133: Undefined control sequence.
<write> ...\@nil }\XKV@tempa@toks {id}\edef \@nil
}\futurelet \KV@toks@ {\XK...
l.133

./algorithm.tex:133: Undefined control sequence.
<write> ...oks {id,,\XKV@tempa@toks {}\edef \@nil
}\futurelet \KV@toks@ {\XK...
l.133

./algorithm.tex:133: Undefined control sequence.
<write> ...@tempa@toks {id,,\par }\edef id,{\@nil
}\edef }\edef id,{\@nil }...
l.133

./algorithm.tex:133: Undefined control sequence.
<write> ...edef id,{\@nil }\edef }\edef id,{\@nil
}\edef }}{\thepage }
l.133

]

What's weird is that line 133 is the blank line at the end of the snippet.
I think the issue has something to do with entering math mode in the change. I've done it both enclosing the entire item in $s and as it is in the snippet.

The latex binary then hangs later and sits at 85-95% CPU time with little memory usage.

I get another error in another place in the document.

-------- snippet ---------
This procedure is given
in \figurename \ref{alg:MinT}. Procedure \textsc{MinT}, is a reduction for all
lines $L$ in \replaced[len]{$C$}{$Ckt$}, determining the minimum $i$ for where $T_i$ has sensitized
$L$. As the rule is to only keep the minimum test vector identifier, we are
guaranteed to maintain the behavior of \cite{259947}.
For a line \replaced[len]{$l \in C$}{$l \in Ckt$},
we reduce as per \figurename \ref{alg:reduce} across all $T_i$, and then store
it in MERGE$[G]$.

--------end snippet ---------

Error #2:

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\XKV@for@n #1#2#3->\XKV@tempa@toks {#1}\edef #2{
\the \XKV@tempa@toks }\ifx #...
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\XKV@f@r #1#2#3,->\XKV@tempa@toks {#3}\edef #1{
\the \XKV@tempa@toks }\ifx #1...
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
<argument> ... \XKV@resa \expandafter {\XKV@resa }
\XKV@addtomacro@o \XKV@na ...
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Undefined control sequence.
\KV@@sp@def #1#2->\futurelet \KV@tempa
\KV@@sp@d #2\@nil \@nil \@nil \relax #1
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\XKV@addtomacro@o ...pandafter #1\expandafter {#2}

l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\XKV@f@r #1#2#3,->\XKV@tempa@toks {#3}\edef #1{
\the \XKV@tempa@toks }\ifx #1...
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
<argument> ... \XKV@resa \expandafter {\XKV@resa }
\XKV@addtomacro@o \XKV@na ...
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Undefined control sequence.
\KV@@sp@def #1#2->\futurelet \KV@tempa
\KV@@sp@d #2\@nil \@nil \@nil \relax #1
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\XKV@addtomacro@o ...pandafter #1\expandafter {#2}

l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Argument of \XKV@f@r has an extra }.
<inserted text="">
\par
l.100 $t$ is used to refer to any test in $T$.}

Runaway argument?
./intro.tex:100: Paragraph ended before \XKV@f@r was complete.
<to be="" read="" again="">
\par
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\KV@@sp@c ... #2\relax #3->\KV@toks@ {#1}\edef #3{
\the \KV@toks@ }
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Use of \XKV@resa doesn't match its definition.
\KV@@sp@c ... #2\relax #3->\KV@toks@ {#1}\edef #3{
\the \KV@toks@ }
l.100 $t$ is used to refer to any test in $T$.}

./intro.tex:100: Extra }, or forgotten \endgroup.
\protected@write ...ef \reserved@a {\write #1{#3}}
\reserved@a \endgroup \if@...
l.100 $t$ is used to refer to any test in $T$.}

-------- snippet ---------
97 \added[id=len]{\paragraph*{Definitions} In this work, $T$ represents the set of all tests $t$
98 applied to a circuit under test $C$. Both $t$ and $t_i$ are two-pattern tests
99 in the test set $T$. $t_i$ is used to refer to some specific test in $T$, while
100 $t$ is used to refer to any test in $T$.}
--------end snippet ---------

Discussion

  • Lord of Hyphens

    Lord of Hyphens - 2014-06-11

    The document renders correctly with the [final] argument to the changes package in the preamble.

     
  • Lord of Hyphens

    Lord of Hyphens - 2014-06-11

    Attaching minimum test doc.

     
  • Lord of Hyphens

    Lord of Hyphens - 2014-06-12

    It looks like the paragraph declaration inside \added{} is the root cause of the errors.
    \paragraph*{Definitions}

     
  • Ekkart Kleinod

    Ekkart Kleinod - 2015-04-27

    Yes, the changes package cannot deal with paragraphs, sections, figures etc. Unfortunately, this is far beyond my TeX skills.

     
  • Ekkart Kleinod

    Ekkart Kleinod - 2015-04-27
    • status: open --> closed-wont-fix
    • assigned_to: Ekkart Kleinod
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.