软件包 trackchanges:UTF8 问题

软件包 trackchanges:UTF8 问题

该软件包trackchanges似乎不支持 utf8 编码。有人遇到过同样的问题吗?有人有解决方案吗?

最小示例

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc} 
\usepackage{trackchanges}
\begin{document}
    text \remove{öäü}
\end{document}

编译错误:

 ! Argument of \UTFviii@two@octets has an extra }.
<inserted text>
\par
l.6 text \remove{öäü}
I've run across a `}' that doesn't seem to match anything.

当然,使用 oau 代替 öäü 也可以。

答案1

似乎加载soulutf8之前的包trackchanges可以解决问题

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc} 
\usepackage{soulutf8}
\usepackage{trackchanges}
\begin{document}
    text \remove{öäü}
\end{document}

答案2

soul这似乎是用于突出显示更改的内部使用的包(Strike-Out、UnderLine)的问题。它逐步读取内容并将 Unicode 字符一分为二。您可以在soul手册中找到帮助。

作为一种解决方法,我会重新定义使用的突出显示宏,例如\stcolor针对给定的示例。在这里我使用一个简单的\textcolor(来自已加载的xcolor包)而不是soul代码。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{trackchanges}
\renewcommand{\stcolor}[2]{\textcolor{#1}{#2}}
\begin{document}
    text \remove{öäü}
\end{document}

这对我有用。

答案3

答案来得太晚了:该软件包的soul变音符号有问题。使用软件包ulem及其函数uline代替ulfromsoul应该可以正常工作。

相关内容