我使用等宽字体,费了一番功夫才将它连字符化。但是连字符行为相当奇怪,文档的右侧也很难看。
有没有办法强制它总是连字符(即使有很多-
s)以便右侧对齐?简单地更改\hyphenpenalty
为 0 似乎没用。或者有其他方法可以让右侧看起来更好?
下面是 MWE。
\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\usepackage[T1]{fontenc}
\usepackage{courierten}
\renewcommand{\familydefault}{\ttdefault}
\frenchspacing
\usepackage{silence}%
\WarningsOff[hyphenat]
\WarningFilter{latexfont}{Some font}%
\WarningFilter{latexfont}{Font shape}%
\usepackage[htt]{hyphenat}
\AtBeginDocument{%
\sloppy%
\hbadness=10000%
\hyphenpenalty=0% This seems to be useless
}
\usepackage{microtype}
\usepackage{blindtext}
\begin{document}
\blindtext[10]
\end{document}
答案1
使用\spaceskip
,它将覆盖字体定义的单词间间距,这在等宽字体中没有灵活性。
\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\usepackage[T1]{fontenc}
\usepackage{courierten}
\renewcommand{\familydefault}{\ttdefault}
\frenchspacing
\setlength{\spaceskip}{0.3em plus 0.3em minus 0.1em}
%\setlength{\xspaceskip}{1em plus 0.5em} % not used because of \frenchspacing
\usepackage{silence}%
\WarningsOff[hyphenat]
\WarningFilter{latexfont}{Some font}%
\WarningFilter{latexfont}{Font shape}%
\usepackage[htt]{hyphenat}
\AtBeginDocument{%
%\sloppy % why?
%\hbadness=10000 % <- this is useless
\hyphenpenalty=0 % <- this is not
}
\usepackage{microtype}
\usepackage{blindtext}
\begin{document}
\blindtext[10]
\end{document}
设置\hbadness
为 10000 没有什么重要意义。相反,设置\hyphenpenalty
为 0 允许使用更多连字符。请注意,尾随空格是常量之后需要。
该图像显示了 所做的突出microtype
。
如果没有设置,\hyphenpenalty
也没有突出,我得到
也许,应该稍微修改一下字体的凸出设置。
这是第一行的图片(带有突起)
相当长的一段文字。