带有变音符号的拉丁字母 MonTeX(mls、manju、蒙古语)

带有变音符号的拉丁字母 MonTeX(mls、manju、蒙古语)

我正在使用该montex包输入满语文本(manju)。在我的文档中,我还使用带变音符号的拉丁字母。当我加载 时montex,这些变音符号不再出现,当带变音符号的字符达到 100 个时,编译会因为错误太多而完全失败。文档montex列出了输入和输出的几种编码,前者包括utf-8(第 19-22 页)。作为一名非程序员,我不太明白这一点,但在我看来,表 4.1.“MonTeX 输入编码”中列出的编码都没有一种可以处理我需要的所有变音符号。这是否意味着 MonTeX 实际上与完整的 不兼容unicode

工作最小示例无需montex

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
yǐ mǎn zhōng wèn wén\\ %Latin texts with diacritics in Roman and Italics
\emph{yǐ mǎn zhōng wèn wén}
\end{document}

这看起来不错:

在此处输入图片描述

如果我还加载MonTeX并输入一些满文,则不起作用:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\usepackage{mls} %Loading MonTeX
\begin{document}
\bithe{manju gisun}\\ %Typing Manchu
yǐ mǎn zhōng wèn wén\\
\emph{yǐ mǎn zhōng wèn wén}
\end{document}

结果:

在此处输入图片描述

在此文件中,斜体也消失了。

查看手册中的编码列表MonTeX,我发现——也许我错了?——最好的编码是english作为文档语言和mls编码。但将这些选项添加到

\usepackage[english,mls]{mls}

不会改变输出。

上面的代码是用 编译的XeLaTeX,但我也用 编译了同一个文件,LuaLateX结果相同

有人知道我该怎么做才能解决这个问题?

答案1

复制mls.sty。将其命名为mls-hacked.sty。应用以下补丁。

--- mls-hacked.sty      2010-04-09 19:28:51.000000000 +0100
+++ mls-hacked.sty      2014-03-16 02:32:39.086050752 +0000
@@ -11,7 +11,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % -------------------     identification     -------------------
 %
-\newcommand{\VersionDate}{2010/04/01}% 2002/07/01 with modified language name
+\newcommand{\VersionDate}{2014/03/16}% 2002/07/01 with modified language name
 \newcommand{\ImplementationLevel}{IVu}%
 \newcommand{\VersionKirill}{04}%
 \newcommand{\VersionMongol}{092}%
@@ -19,7 +19,8 @@
        \ImplementationLevel.\VersionKirill.\VersionMongol}%
 %
 \NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{mls}[2010/04/01 IVu.04.092 Mongolian for LaTeX2e]%
+\ProvidesPackage{mls-hacked}[2014/03/16 IVu.04.092 Mongolian for LaTeX2e Hacked to remove inputenc]%
+\PackageWarning{mls-hacked}{This is NOT the official version of mls.sty. It will almost certainly break things badly. It will complain slightly less when used with XeLaTeX, however.}
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % -------------------      initial code      -------------------
@@ -337,55 +338,6 @@
 }%
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% -------- Loading of various codepage definitions -------------
-%
-% Input encodings supplied by MonTeX
-%
-\DeclareOption{mls}{\PassOptionsToPackage{cpmls}{inputenc}}%
-\DeclareOption{ncc}{\PassOptionsToPackage{cpncc}{inputenc}}%
-\DeclareOption{mos}{\PassOptionsToPackage{cpmos}{inputenc}}%
-\DeclareOption{mnk}{\PassOptionsToPackage{cpmnk}{inputenc}}%
-\DeclareOption{dbk}{\PassOptionsToPackage{cpdbk}{inputenc}}%
-\DeclareOption{ibmrus}{\PassOptionsToPackage{cpibmrus}{inputenc}}%
-\DeclareOption{koi}{\PassOptionsToPackage{cpkoi}{inputenc}}%
-\DeclareOption{ctt}{\PassOptionsToPackage{cpctt}{inputenc}}%
-%
-% Initial Unicode Mongolian utf-8 support. Experimental
-%
-\DeclareOption{utf8}{\PassOptionsToPackage{utf8}{inputenc}}%
-%
-% Input encodings supplied by standard installations
-%
-\DeclareOption{1250}{\PassOptionsToPackage{cp1250}{inputenc}}%
-\DeclareOption{1252}{\PassOptionsToPackage{cp1252}{inputenc}}%
-\DeclareOption{437de}{\PassOptionsToPackage{cp437de}{inputenc}}%
-\DeclareOption{437}{\PassOptionsToPackage{cp437}{inputenc}}%
-\DeclareOption{850}{\PassOptionsToPackage{cp850}{inputenc}}%
-\DeclareOption{852}{\PassOptionsToPackage{cp852}{inputenc}}%
-\DeclareOption{865}{\PassOptionsToPackage{cp865}{inputenc}}%
-\DeclareOption{cp1250}{\PassOptionsToPackage{cp1250}{inputenc}}%
-\DeclareOption{cp1252}{\PassOptionsToPackage{cp1252}{inputenc}}%
-\DeclareOption{cp437de}{\PassOptionsToPackage{cp437de}{inputenc}}%
-\DeclareOption{cp437}{\PassOptionsToPackage{cp437}{inputenc}}%
-\DeclareOption{cp850}{\PassOptionsToPackage{cp850}{inputenc}}%
-\DeclareOption{cp852}{\PassOptionsToPackage{cp852}{inputenc}}%
-\DeclareOption{cp865}{\PassOptionsToPackage{cp865}{inputenc}}%
-\DeclareOption{ansinew}{\PassOptionsToPackage{ansinew}{inputenc}}%
-\DeclareOption{applemac}{\PassOptionsToPackage{applemac}{inputenc}}%
-\DeclareOption{ascii}{\PassOptionsToPackage{ascii}{inputenc}}%
-\DeclareOption{atari}{\PassOptionsToPackage{atari}{inputenc}}%
-\DeclareOption{decmulti}{\PassOptionsToPackage{decmulti}{inputenc}}%
-\DeclareOption{isolatin}{\PassOptionsToPackage{isolatin}{inputenc}}%
-\DeclareOption{latin1}{\PassOptionsToPackage{latin1}{inputenc}}%
-\DeclareOption{latin2}{\PassOptionsToPackage{latin2}{inputenc}}%
-\DeclareOption{latin3}{\PassOptionsToPackage{latin3}{inputenc}}%
-\DeclareOption{latin5}{\PassOptionsToPackage{latin5}{inputenc}}%
-\DeclareOption{mac}{\PassOptionsToPackage{mac}{inputenc}}%
-\DeclareOption{next}{\PassOptionsToPackage{next}{inputenc}}%
-\DeclareOption{pc850}{\PassOptionsToPackage{pc850}{inputenc}}%
-\DeclareOption{roman8}{\PassOptionsToPackage{roman8}{inputenc}}%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % -------------------  execution of options  -------------------
 %
 \ProcessOptions
@@ -415,8 +367,6 @@
        \DeclareFontSubstitution{LMO}{bcghs}{m}{n}%
 \fi
 %
-\RequirePackage{inputenc}%
-%
 % PostScript detection; necessary for user-friendly
 % execution of vertical capsules
 %

将产生:

蒙古文和强调文字

\documentclass{article}
\usepackage{mls-hacked}% Note that the order is crucial - this must be loaded before fontspec
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
\bithe{manju gisun}\\ %Typing Manchu
yǐ mǎn zhōng wèn wén\\
\emph{yǐ mǎn zhōng wèn wén}
\end{document}

请注意,您可以使用获得相同的输出,mls.sty但它会对加载产生很大的抱怨,inputenc因为它不应该使用假定 utf8 输入的 XeLaTeX 来加载。

相关内容