对齐希腊多音调(“智能线开始”)

对齐希腊多音调(“智能线开始”)

我正在用希腊多音节输入一组诗歌,我遇到的问题是大写字母的对齐方式是根据重音而不是字母本身来设置的。以下是 E 在中间行没有正确对齐的示例:

\documentclass[12pt]{book}

%\font\1="Times New Roman"
%\usepackage{fontspec}
%\setmainfont{Times New Roman}

\usepackage{polyglossia}

\setdefaultlanguage{greek}
\setotherlanguage{english}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}

%\usepackage[english,polutonikogreek]{babel}
%\usepackage[utf8x]{inputenx}

%\usepackage{fontspec}
%\setmainfont[Ligatures=TeX]{Linux Libertine O}

\usepackage{verse}
\usepackage{marginnote}

\newcommand{\en}[1]{\foreignlanguage{english}{#1}}

\usepackage{refcount}

\begin{document}

A\\
Eτοὺς τὸ πρὶν πεφυκότας\\
ἙΘεοῦ ζῶντος εἰργάσω\\
Εἀληθεῖς προσκυνητὰς\\

\end{document}

在此处输入图片描述

在我使用过的语言文本编辑器中,有一个名为“智能行开始”的选项,它使您可以按字母而不是重音对齐。经过一番搜索,我没有找到类似的 latex 功能。你们中有人知道可以处理这个问题的命令/包吗?关于使用哪些术语来搜索这个问题的一些想法也会有所帮助。

到目前为止,我想到最好的解决方案是使用 \hspace{} 为某些字母和重音的组合定义命令。这有点麻烦,而且我不知道如何对 latex 进行编程,使其在遇到诗句开头的大写字母时自动执行此操作。这方面的一些指导也可以解决我的问题。

提前致谢,Marios

PS:我用上面为 E 定义的新命令很简单:

\newcommand{\pneumae}{\hspace{-0.57mm}}

将角色推向左边。

答案1

完整的解决方案可能会使用microtype及其左边距突起,但它需要计算每个带有侧重音的字符的突起因子。

这是一个更快的破解方法:

\documentclass[12pt]{book}

\usepackage{fontspec}
\usepackage{polyglossia}

\setdefaultlanguage{greek}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}

\newcommand{\bs}[2]{%
  \sbox0{#1}\sbox2{#2}%
  \hspace*{\dimexpr\wd0-\wd2}#2%
}

\begin{document}

\begin{verse}
Eτοὺς τὸ πρὶν πεφυκότας\\
\bs{E}{Ἑ}οῦ ζῶντος εἰργάσω\\
Εἀληθεῖς προσκυνητὰς
\end{verse}

\end{document}

第一个参数\bs是没有侧重音的字符,用于测量宽度的差异。

在此处输入图片描述

相关内容