todonotes icon indicating copy to clipboard operation
todonotes copied to clipboard

Greek math letters are not printed in the list of todo notes

Open ghost opened this issue 4 years ago • 3 comments

Feeding

\documentclass{article}
\pagestyle{empty}
\usepackage[math-style=ISO]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}[Scale=0.88]
\setmonofont{TeX Gyre Cursor}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
\usepackage{todonotes}
%%% Simplified http://tex.stackexchange.com/a/549106 :
\ExplSyntaxOn
\NewDocumentCommand{\myMacro}{m}{
\tl_set:Nn \l_tmpa_tl { #1 }
\regex_replace_all:NnN
\c_justaman_mymacro_greek_regex % search
{ \c{symit}\cB\{\1\cE\} } % replace
\l_tmpa_tl % token list to massage
\mathit{\tl_use:N \l_tmpa_tl}
}
\regex_const:Nn \c_justaman_mymacro_greek_regex
{% one or more Greek letters; fill up
([\c{alpha}\c{beta}\c{gamma}]+)
}
\ExplSyntaxOff
\begin{document}
\listoftodos
\clearpage
\noindent\(\myMacro{\alpha}\)\\
\(\myMacro{Finite\_word\_with\_\alpha}\)
\todo[inline]{\(\myMacro{\alpha}\)\\
\(\myMacro{Finite\_word\_with\_\alpha}\)}
\end{document}

to xelatex results in the correct second page

p2

but in the list of todo notes on the first page, the \alphas are missing:

p1

Any idea of what goes on here and how to repair this bug? Crosspost: http://latex.org/forum/viewtopic.php?p=113104.

ghost avatar Jun 17 '20 16:06 ghost

Thanks for the bug report. I have a hard time deciphering the code, especially the \myMacro part. Can you try to make a minimal working example of the issue, that is to remove all elements from the example that does not contribute directly to the issue. https://tex.meta.stackexchange.com/questions/228/ive-just-been-asked-to-write-a-minimal-working-example-mwe-what-is-that

henrikmidtiby avatar Jun 19 '20 09:06 henrikmidtiby

Can you try to make a minimal working example of the issue

It is already smaller than what egreg produced. I'm not into LaTeX3, but I'll undertake one more attempt:

\documentclass{article}
\usepackage{unicode-math}
\usepackage{todonotes}
\ExplSyntaxOn
\NewDocumentCommand{\myMacro}{m}{
\tl_set:Nn \l_tmpa_tl { #1 }
\regex_replace_all:NnN
\c_justaman_mymacro_greek_regex % search
{ \c{symit}\cB\{\1\cE\} } % replace
\l_tmpa_tl % token list to massage
\mathit{\tl_use:N \l_tmpa_tl}
}
\regex_const:Nn \c_justaman_mymacro_greek_regex
{% one or more Greek letters; fill up
([\c{alpha}]+)
}
\ExplSyntaxOff
\begin{document}
\listoftodos
\clearpage
\noindent\(\myMacro{\alpha}\)\\
\(\myMacro{Finite\_word\_with\_\alpha}\)
\todo[inline]{\(\myMacro{\alpha}\)\\
\(\myMacro{Finite\_word\_with\_\alpha}\)}
\end{document}

produces

p2

on the second page, as expected, but

p1

on the first page, where 𝛼s are missing.

You asked me to simplify the expl3 code. That's where I find myself in special difficulty: I know very little expl3.

ghost avatar Jun 19 '20 12:06 ghost