我正在用法语创建一个大字体的标题页,我真的很讨厌这么大的标题通常使用的连字符。所以我在寻找一个更短的连字符,优雅而简单。这是一个显示问题的 MWE(我正在使用手动字距调整间距,因为它是标题页上的大标题。不是正文!):
\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{libertine}
\renewcommand*\familydefault{\sfdefault}
\begin{document}
\raggedleft
{\fontsize{58}{0}\selectfont{l\kern-0.03em '\kern-0.10em e\kern-0.02em s\kern-0.03em p\kern-0.03em a\kern-0.02em c\kern-0.02em e\textperiodcentered t\kern-0.03em e\kern-0.03em m\kern-0.04em p\kern-0.03em s}}
{\fontsize{58}{0}\selectfont{l\kern-0.03em '\kern-0.10em e\kern-0.02em s\kern-0.03em p\kern-0.03em a\kern-0.02em c\kern-0.02em e-t\kern-0.03em e\kern-0.03em m\kern-0.04em p\kern-0.03em s}}
{\fontsize{58}{0}\selectfont{l'espace-temps}}
\end{document}
预览:
那么,有没有办法定义或获得更短的连字符,只用于这个标题?我真的很羡慕这个英文单词时空,我在我的法语书中不能使用它!
答案1
使用fontspec
,您有多种选择。一种是添加FakeStretch=
值小于 1.0 的字体特征。
\documentclass[11pt]{book}
\tracinglostchars=2
\usepackage[french]{babel}
\usepackage{fontspec}
\usepackage{microtype}
\usepackage{libertinus}
\renewcommand*\familydefault{\sfdefault}
\newcommand\shorthyphen{{\addfontfeature{FakeStretch=0.5}^^^^2010}}
\begin{document}
\raggedleft
{\huge l'espace-temps}
{\huge l'espace{\shorthyphen}temps}
\end{document}
如果您的字体有它,您可以用更短的连字符代替,例如 ﹣(U+FE63 小连字符减号)。
\newcommand\shorthyphen{^^^^fe63}
如果您有字体的压缩版或超压缩版,则可以从中加载连字符。如果您之前声明过\newfontfamily\condensedfont{...}
,则可能是
\newcommand\shorthyphen{{\condensedfont -}}
或者如果使用 NFSS 方案,其中中等凝聚态是系列mc
,例如
{\fontseries{mc}\selectfont -}