该软件包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
代替ul
fromsoul
应该可以正常工作。