lco 文件中自定义变量 (\newkomavar*) 的希腊语描述

lco 文件中自定义变量 (\newkomavar*) 的希腊语描述

根据以下位置的模板/asymTypB.lco文件brieftemplate.texbriefwbk.texhttp://www.komascript.de/files/KOMA-Script-3-Buch-Beispielcode.zip,我得到了一个修改过的发票模板(最初发布于https://tex.stackexchange.com/a/152558/8272)。

尝试将其翻译成希腊文(可访问https://github.com/NikosAlexandris/invoice_el),我根据 KOMA 的指南建议添加了以下说明:

\AtBeginDocument{%

\providecaptionname{greek}{\datename}{Ημερομηνία}%
\providecaptionname{greek}\subjectname{Θέμα}%

\providecaptionname{greek}\headtoname{Προς}%

\providecaptionname{greek}{\customername}{Πελάτης (Κωδικός, Αριθμός)}%
\providecaptionname{greek}\yourmailname{Εγγραφή Πελάτη}%
\providecaptionname{greek}{\yourrefname}{Διακριτικός τίτλος έργου}%

\providecaptionname{greek}\headfromname{Από}%
\providecaptionname{greek}\emailname{η-Ταχυδρομείο}%
\providecaptionname{greek}\wwwname{Url}%
\providecaptionname{greek}\phonename{Τηλέφωνο}%
\providecaptionname{greek}\faxname{Τηλεομοιότυπο}%

\providecaptionname{greek}{\myrefname}{Εσωτερική εγγραφή}%
\providecaptionname{greek}{\invoicename}{Τιμολόγιο No.}%
\providecaptionname{greek}{\bankname}{Τραπεζικός Λογαριασμός}%

\providecaptionname{greek}\ccname{cc}%
\providecaptionname{greek}\enclname{Επισυναπτόμενα}%

\providecaptionname{greek}\pagename{Σελίδα}%
}

此外,我在相应的.lco文件中添加了新变量,如下所述(本)KOMA 的剧本指南(英文版,第 371 页),新变量接受预定义的描述,即:newkomavar*[description ]{name }。例如,

% New variable(s) here!
\newkomavar{company}%
\newkomavar{professiona}%
\newkomavar{professionb}%
\newkomavar{fromvatin}%
\newkomavar{fromlinkedin}%

到目前为止一切正常。但是,为自定义变量添加希腊文描述不会按预期工作。例如,以下

\newkomavar*[ΑΦΜ Πελάτη]{yourvatin}%

在编译后的 pdf(PDFLaTeX)中显示为ὐἇὐᾔὐῂ ὐήὐᾡὐὢὐῇὓᾲὐᾣ如何在 .lco 文件内部实现自定义 koma 变量的希腊语描述(在 PDFLaTeX 内部)?

答案1

您的示例文件似乎使用了 UTF-8 编码。“ΑΦΜΠελάτη”中各个字母的 UTF-8 十六进制代码序列为ce91 cea6 ce9c cea0 ceb5 cebb ceac cf84 ceb7(注意:空格已被删除)。

我不熟悉 LaTeX 中希腊字体编码的复杂细节,但LaTeX 字体编码手动将UTF -8 序列的字节(ce、、、、...)映射到您看到的错误输出。91cea6

一个新的例子

由于我无法编译您的示例文档,因此我必须用我自己的最少示例来演示问题和提出的解决方案。

首先,当没有定义 inputenc 时会出现问题:

\documentclass{standalone}
\usepackage[LGR]{fontenc}
\begin{document}
ΑΦΜ Πελάτη
\end{document}

字符序列错误的图片

这个问题可以通过以下方式解决:

A.定义合适的输入编码

\documentclass{standalone}
\usepackage[LGR]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
ΑΦΜ Πελάτη
\end{document}

或者

B. 使用 LGR 表中的字符代码。从“ΑΦΜΠελάτη”到十进制代码的映射为 65、70、77、80、101、108、136、116、104。

\documentclass{standalone}
\usepackage[LGR]{fontenc}
\begin{document}
\char65\char70\char77{} \char80\char101\char108\char136\char116\char104
\end{document}

A 和 B 均给出相同的结果:

具有正确字符序列的图片

将其应用于原始示例

我猜字符代码解决方案 (B) 应该可以正常工作。要使输入编码解决方案正常工作,我认为您需要将声明移到\inputenc文档中较早的位置,在任何希腊文本之前。请注意,在您的示例中,.lco包含的模板\newkomavar*[ΑΦΜ Πελάτη]{yourvatin}直接包含\documentclass在声明之前\inputenc

相关内容