我正在尝试使用以希腊语为主要语言的 lipsum 创建随机文本。问题是,当我尝试编译我的文件时,一直出现有关 的错误endcsname
。
我的代码是
\documentclass[a4paper,11pt]{article}
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{kerkis}
\usepackage{lipsum}
\newcommand{\eng}[1]{\latintext#1\greektext}
\begin{document}
\lipsum[2]
\end{document}
我也尝试使用\eng{\lipsum[2]}
而不是来运行它\lipsum[2]
,但似乎不起作用。让它工作的唯一方法是将英语作为主要语言。
有办法解决这个问题吗?
答案1
该lipsum
包用于\roman{lips@count}
构建控制序列名称;但希腊语模块的babel
含义发生了改变,\roman
使得它无法完全扩展。
解决办法:patch相关命令:
\documentclass[a4paper,11pt]{article}
\usepackage[english,greek]{babel}
\usepackage{kerkis}
\usepackage{lipsum}
\usepackage{etoolbox}
\makeatletter
\patchcmd\lips@dolipsum
{\roman{lips@count}}
{\romannumeral\c@lips@count}
{}{}
\makeatother
\begin{document}
\lipsum[2]
\end{document}
我省略了与inputenc
示例无关的调用。您应该考虑切换到 UTF-8,而不是使用 ISO-8859-7。