我从事人文学科工作,所以请原谅我的能力不足和计算需求的怪异。有办法吗?我需要在同一个文档中使用三种(首先)语言。立陶宛语(L7x
)、波兰语(LaTeX 似乎无需说明即可很好地呈现\usepackage{polski}
)和俄语(T2A
)。只要我在文档中引入任何第三种特定语言的符号,就会收到以下错误消息。
! TeX capacity exceeded, sorry [input stack size=5000].\L ->\L7x-cmd \L
\L7x\L
l.9 ĄąĆćĘęŁ
łŃńÓóŻż
! ==> Fatal error occurred, no output PDF file produced!
俄语+立陶宛语可以正常工作,但单个“ł”会触发错误。俄语+波兰语和“ė”也一样。西里尔字符只会导致每个符号的非致命错误(消息如下),西里尔文本在输出文件中会被忽略。
! Package inputenc Error: Unicode char \u8:ц not set up for use with LaTeX.
这是 MWE
\documentclass{article}
\usepackage[L7x,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[lithuanian,russian]{babel}
\begin{document}
%lithuanian
ĄąČčĘęĖėĮįŠšŲųŪūŽž
%russian
БбЖжЬьЯяЭэЩщШшПпЦц
%polish
ĄąĆćĘꣳŃńÓóŻż
\end{document}
答案1
l7xenc.def
据我所知,有一个错误可以修复。您还应该将语言限制在适当的标签中。对于波兰语,请使用 T1 编码,或者,如果您想继续使用 L7x,请在切换到波兰语时添加其选择:
\documentclass{article}
\usepackage[L7x,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[lithuanian,polish,russian]{babel}
%%% Fix for L7x encoding
\makeatletter
\expandafter\let\csname L7x-cmd\endcsname\@changed@cmd
\makeatother
%%% Use L7x for Polish
\addto\extraspolish{\fontencoding{L7x}\selectfont}
\addto\noextraspolish{\fontencoding{\encodingdefault}\selectfont}
\begin{document}
%lithuanian
\begin{otherlanguage*}{lithuanian}
ĄąČčĘęĖėĮįŠšŲųŪūŽž
\end{otherlanguage*}
%russian
БбЖжЬьЯяЭэЩщШшПпЦц
%polish
\begin{otherlanguage*}{polish}
ĄąĆćĘꣳŃńÓóŻż
\end{otherlanguage*}
\end{document}