使用等间距和行间距对齐 - XeTeX

使用等间距和行间距对齐 - XeTeX

我怎样才能获得对齐的文本连字符和均匀的单词间距,这两者可能是彼此相反的,如果是这样的话,告诉我。

在此处输入图片描述

您还可以在这里看到行间距的变化。如果输入小写字母 g,效果会更加明显。如何才能使行间距均匀里面一个段落。

最后,右侧有对齐并且没有连字符,看起来会突出来,并且如果 f 位于行尾,则其上部会突出到边距之外,我该如何避免这种情况?

PS. 我使用的无连字符对齐方法如下

% -------------------

\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=1000
\hbadness=1000

% -------------------

编辑:这是 Marijn 要求的代码

% methamatics
\documentclass{article}

\usepackage{unicode-math}
\usepackage{fontspec,xltxtra}
\usepackage{lipsum}

% -------------------

\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=1000
\hbadness=1000

% -------------------

\renewcommand{\normalsize}{\fontsize{12}{7}\selectfont}

\setmathfont[]{STIX Two Math}

\setmainfont[Ligatures = {Historic}, Contextuals = Alternate, Kerning = On]{Hoefler Text Pro}

% \setmathrm
% [
%   Style = Historic,
%   Ligatures = Historic,
% ]
% {Hoefler Text Pro}

% \setmathsf
% [
%   Style = Historic,
%   Ligatures = Historic,
% ]
% {Hoefler Text Pro}

% \setboldmathrm
% [
%   Style = Historic,
%   Ligatures = Historic,
% ]
% {Hoefler Text Pro Bold}

%-CMDS

\newcommand{\tib}[1]{{\fontspec
    [
        Contextuals = LineFinal,
        Kerning = On,
    ]
    {Hoefler Text Pro Engraved One}
    \fontsize{24}{12}
    \selectfont #1 \normalfont \normalsize}}

\newcommand{\tisc}[1]{{\fontspec
    [
        Letters = SmallCaps,
        Kerning = On,
    ]
    {Hoefler Text Pro}
    \fontsize{20}{12}
    \selectfont #1 \normalfont \normalsize}}

%-DCMNT

\begin{document}


    \begin{center}

        \tib{aaaaa aaaaaaaa}\\[\baselineskip]
        \tisc{aaaaaaaaaaaaa\\
        to \\
        aaaaaaaaaaaaa} \\ 
        $$  $$

    \end{center}

    \noindent\lipsum[3]

\end{document}

答案1

我没有字体来运行你的例子,这个答案只解决了垂直间距,但是

\newcommand{\tisc}[1]{{\fontspec
    [
        Letters = SmallCaps,
        Kerning = On,
    ]
    {Hoefler Text Pro}
    \fontsize{20}{12}
    \selectfont #1 \normalfont \normalsize}}

最后一个\normalfont \normalsize不执行任何操作,因为它紧接着组的结束,将字体恢复为组开始时的当前字体,因此这与

\newcommand{\tisc}[1]{{\fontspec
    [
        Letters = SmallCaps,
        Kerning = On,
    ]
    {Hoefler Text Pro}
    \fontsize{20}{12}
    \selectfont #1 }}

如果此命令在水平模式下使用,这将添加一个空格标记(来自之后的换行符{12}),从而在输出中留出空间,然后选择 24pt 的字体,并指定 12pt 的基线跳跃!!然后添加来自参数的文本,后跟另一个单词空格(如果换行符发生在最后一个空格之前,则可以在段落末尾留下一条额外的白线)。

由于 TeX 使用末尾有效的设置将换行应用于整个段落,因此如果参数不包含段落分隔符,则不会使用 12pt baselineskip(如果它包含段落分隔符,则倒数第二段之前的段落将设置为 12pt baselineskip,最后一段将设置为命令之前有效的行距)。

TeX 绝不会过度打印来强制指定行距,因此在标称 12pt 分隔符上设置 24pt 文本将导致 TeX 产生不一致的行距,并且行被放置得尽可能靠近(以 分隔\lineskip,默认为 1pt),因此字母较大的行将比较小字母的行具有更大的间距。

因此,为了实现更一致的间距,您需要注释掉空格标记,指定大于字体大小的基线跳跃,并确保在基线规范范围内有一个段落结束。

\newcommand{\tisc}[1]{{\fontspec
    [
        Letters = SmallCaps,
        Kerning = On,
    ]
    {Hoefler Text Pro}%
    \fontsize{20}{22}\selectfont
    #1%
    \par}}

相关内容