我有一个问题,是否有可能调整某些特定符号周围的字距,而无需关心接下来要写什么符号。另外,我是否可以只调整特定字体形状的字距?
具体来说,我需要使用 Alegreya 字体,但我注意到某些符号(例如双引号、f 字母)后面留下的空间很小。
请查看下面的图片及其源代码:斜体字形看起来比罗马字形更糟糕,我几乎无法分辨某些单词之间是否有空格。只有插入双倍的空间带来不同。
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont[
Numbers=OldStyle,
Extension = .ttf,
UprightFont= *-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic,
SmallCapsFont=*SC-Regular,
ItalicFeatures={SmallCapsFont=*SC-Italic},
]{Alegreya}
\begin{document}
Types of $^\text{6}_\text{4}$ chords.\par
\textit{Types of $^\text{6}_\text{4}$ chords.}\par
``good'' harmonic progressions of motion,'' most cases are\par
\textit{``good'' harmonic progressions of motion,'' most cases are}\par
\textit{``good' harmonic progressions of motion,' most cases are}\par
\textit{``good''\/ harmonic progressions of motion,''\/ most cases are}\par
\textit{``good''~harmonic progressions of motion,''~most cases are}\par
\textit{``good''~~harmonic progressions of motion,''~~most cases are}\par
\textbf{``good'' harmonic progressions of motion,'' most cases are}\par
\textbf{\textit{ ``good'' harmonic progressions of motion,'' most cases are}}\par
transformed himself transformed himself\par
\textit{transformed himself transformed himself}
\end{document}
我看到过一些使用 microtype 包的建议(例如,非侵入式字距/间距修改:有哪些选项?),但我注意到,microtype 和分词功能不能很好地协同工作。请参见下面的图片及其源代码(使用 TeX Live 2015 LuaTeX 测试):注意使用和不使用 microtype 包的分词连字符对齐情况。
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{microtype}
\usepackage{fontspec}
\setmainfont[
Numbers=OldStyle,
Extension = .ttf,
UprightFont= *-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic,
SmallCapsFont=*SC-Regular,
ItalicFeatures={SmallCapsFont=*SC-Italic}
]{Alegreya}
% code to draw two column margin is taken from:
% https://tex.stackexchange.com/questions/271285/show-frame-margin-in-two-column-layout/271294
\usepackage{showframe}
\newlength\Fcolumnseprule
\setlength\Fcolumnseprule{0.4pt}
\makeatletter
\def\@outputdblcol{%
\if@firstcolumn
\global \@firstcolumnfalse
\global \setbox\@leftcolumn \box\@outputbox
\else
\global \@firstcolumntrue
\setbox\@outputbox \vbox {%
\hb@xt@\textwidth {%
\hb@xt@\columnwidth {%
\box\@leftcolumn \hss}%
\vrule \@width\Fcolumnseprule\hfil
{\normalcolor\vrule \@width\columnseprule}%original:
%\normalcolor\vrule \@width\columnseprule
\hfil\vrule \@width\Fcolumnseprule
\hb@xt@\columnwidth {%
\box\@outputbox \hss}%
}%
}%
\@combinedblfloats
\@outputpage
\begingroup
\@dblfloatplacement
\@startdblcolumn
\@whilesw\if@fcolmade \fi
{\@outputpage
\@startdblcolumn}%
\endgroup
\fi
}
\makeatother
\begin{document}
\section{Without microtype}
\microtypesetup{activate=false}
\lipsum[3]
\section{With microtype}
\microtypesetup{activate=true}
\lipsum[6]
\end{document}
我将非常感激您的一些建议。
编辑:亨利·孟克向我展示了设置protrusion=False
,有助于使用microtype
包修复连字符对齐。因此,我尝试使用 修复最初的问题,\SetExtraKerning
结果发现该kerning
选项不适用于 LuaTeX。