灵魂与 utf8 的问题

灵魂与 utf8 的问题

这是一个工作示例

\documentclass{book}
\usepackage[utf8]{inputenc}  
\linewidth 150mm    
\usepackage[spanish]{babel}

\usepackage{soul}               
\sodef\secso{\scshape}{.125bp}{0.33em plus.1em minus.1em}{0.33em plus.1em minus.1em}

\let\secso\scshape

\usepackage{titlesec}            
\newcommand{\secformat}[1]{\parbox[t]{\linewidth}{%
    \Large\selectfont
    \filright{{\secso{#1}}}}}
\titleformat{\section}[hang]{\filright}{}{}{\secformat}
\titlespacing*{\section}{0pt}{26pt}{13pt}

\def\thesection {\relax}         
\setcounter{secnumdepth}{0}

\begin{document}
\pagestyle{plain}
\selectlanguage{spanish}

\noindent Test text.

\section{Observation}

\noindent Test text 2.

\section{Observación}

\noindent Test text 3.

\end{document}

效果很好。但是当我取出命令 \let\secso\scshape 以使用 \secso 的灵魂定义时,第二个标题不起作用。字母 ó 导致错误:

! \UTFviii@two@octets 的参数有一个额外的 }。 \par l.34 \section{Observación}

这个问题的最好/最简单的解决方案是什么?

非常感谢您的帮助。这是对我的免费 Motion Mountain Physics 书籍的西班牙语翻译,但这个问题阻碍了翻译。

PS 文件存储为UTF-8,使用的是soul最新版本。

答案1

作为达莱夫已发布,\usepackage{soulutf8}解决问题。

答案2

您可以使用命令。\'o针对ó不同的口音也有类似的命令。

相关内容