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 ---------
The document renders correctly with the [final] argument to the changes package in the preamble.
Attaching minimum test doc.
It looks like the paragraph declaration inside \added{} is the root cause of the errors.
\paragraph*{Definitions}
Yes, the changes package cannot deal with paragraphs, sections, figures etc. Unfortunately, this is far beyond my TeX skills.