演示中存在冲突的包(beamer 与 ethiop)

演示中存在冲突的包(beamer 与 ethiop)

我正在制作演示文稿,必须添加一些埃塞俄比亚文字的文本。对于文档,ethiop 包非常有用,但在 beamer 模式下,我收到错误:

/usr/share/texlive/texmf-dist/tex/latex/ucs/ucsencs.def:16: 未定义控制序列。\eth@altchar #1->\def \eth@res {\eth@doaltchar {#1}} l.16 ...2011/01/21 修复 fontencodings LGR、T3]

我认为 beamer 模式和 ethiop 包之间存在一些冲突。我该怎么办?

\documentclass{beamer}

\mode<presentation>
{ \usetheme{Warsaw}      
  \usecolortheme{default} 
  \usefonttheme{default}  
  \setbeamertemplate{navigation symbols}{}
  \setbeamertemplate{caption}[numbered]} 

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{ethiop}
\newcommand{\etp}{\selectlanguage{ethiop}}

\begin{document}

\begin{frame}

{\etp 'ana negu'sa wa-'antemu 'agbertya .tabbabt}

\end{frame}

\end{document}

哦,这是我第一次使用 LaTeX 进行演示。

答案1

该包ucs及其utf8x选项inputenc经常会引起麻烦,所以一般来说我不建议使用它们。

utf8x如果您将其更改为,您的文档就可以顺利编译utf8。但是,我建议不要使用\selectlanguage,而是使用 的其他功能babel

\documentclass{beamer}

\mode<presentation>
{ \usetheme{Warsaw}      
  \usecolortheme{default} 
  \usefonttheme{default}  
  \setbeamertemplate{navigation symbols}{}
  \setbeamertemplate{caption}[numbered]} 


\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{ethiop}
\newcommand{\textetp}[1]{\foreignlanguage{ethiop}{#1}}
\newenvironment{etp}
  {\begin{otherlanguage*}{ethiop}}
  {\end{otherlanguage*}}

\begin{document}

\begin{frame}

\textetp{'ana negu'sa wa-'antemu 'agbertya .tabbabt}

\begin{etp}
'ana negu'sa wa-'antemu 'agbertya .tabbabt
\end{etp}

\end{frame}

\end{document}

两种方式本质上是等价的,但是更加清晰。

在此处输入图片描述

正如 Ulrike Fischer 在评论中所说,您也可以使用utf8x,只要您将ucs选项传递给班级:

\documentclass[ucs]{beamer}

否则包加载得太晚了。不过,我认为你不需要utf8x

相关内容