
我想停用或修改microtype
特定字元的字元突出(由 啟用)。
讓我用短劃線來說明這個問題,它對我來說突出得太寬了:
(左:無突出;右:有突出)
然而,我無法通過以下方式禁用突出\SetProtrusion
:
\documentclass{memoir}
\usepackage{mathptmx}
\usepackage[T3,T1]{fontenc}
\usepackage{microtype}
%\usepackage[protrusion=false]{microtype}
\SetProtrusion
{ encoding = T1,
family = ptm }
{ \textendash = {,0} }
\begin{document}
Word word word word word word word word word word word word word word -- word
word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word
word word word word word word ...
\end{document}
我還收到以下警告:
Package microtype Warning: protrusion codes list `ptm-T1' will override list
(microtype) `q.tex/9' for font `T1/ptm///' on input line 105.
根據如何在序言中呼叫 microtype 的 \SetProtrusion?,在幫助\LoadMicrotypeFile{ptm}
之前添加一行;\SetProtrusion
如果我嘗試這樣做,這似乎確實解決了--
(\textendash
)的問題,但是(1)惱人的警告仍然存在並且(2)我的程式碼停用全部突出(通過用我的簡短列表覆蓋突出值的整個列表)。部分覆蓋預設字元突出設定的正確方法是什麼?理想情況下,會有一種方法可以消除任何警告,同時又不停用重要microtype
功能。
答案1
您可以透過以下方式擴充或變更現有設定:
確保您要更改的設定已載入;在序言中,不能保證一定會出現這種情況,因此您需要
\LoadMicrotypeFile
.建立透過密鑰載入預設設定的新設定
load
。如果您想將任何字形的突出設為零,則必須明確執行此操作 - 聲明空突出值(例如
\textendash = {,}
)不會改變任何內容。如果您收到的警告讓您感到不安,您可以透過加載包來抑制它編輯:從 2.7 版開始,如果覆蓋的清單與已載入的清單相同,您將不再收到警告。verbose=silent
;但請注意,這也會抑制所有其他microtype
警告。 (我想像override
設定鍵之類的東西會很有用,但現在就是這樣。)
因此,將其轉換為程式碼:
\usepackage[verbose=silent]{microtype}
\LoadMicrotypeFile{ptm}
\SetProtrusion
[ name = ptm-adapted, % the name is optional
load = ptm-T1 ]
{ encoding = T1,
family = {ptm,ptmx,ptmj} }
{
\textendash = { ,0}, % left protrusion will remain untouched,
% right protrusion set to zero
%\textendash = {150,150}, % this would set protrusion on both sides to 150
}
若要調整多種字體的設置,您必須再次執行相同的操作(載入設定並建立新設定),即多次發出\SetProtrusion
(with ):\LoadMicrotypeFile
\LoadMicrotypeFile{ppl}
\SetProtrusion
[ load = ppl-T1 ]
{ encoding = T1,
family = {ppl,pplx,pplj} }
{ ... }
另一種更簡單但粒度不太細的可能性可能是載入小於factor
1000 的套件;這將縮放所有字體的所有字形的突出值。例如,
\usepackage[factor=500]{microtype}
將使所有突出值減半。
答案2
我目前加載microtype
突出調整如下。也許有人有興趣使用我的價值觀,特別是對於《時代》(ptm
),恕我直言,它有太多的突出。請注意,我選擇的調整並不是詳盡的。
\usepackage[verbose=silent]{microtype}
\LoadMicrotypeFile{ptm}
\SetProtrusion
[ name = ptm-adapted,
load = ptm-T1 ]
{ encoding = T1,
family = {ptm,ptmx,ptmj} }
{ f = { ,-200},
r = { ,-100},
\textquoteleft = {300, }, % default uses 500
\textquoteright = { ,300}, % default uses 500
\textquotedblleft = {75, }, % default uses 300
\textquotedblright = { ,75}, % default uses 400
\textendash = {0,0}, % default is 300/300
\textemdash = {0,0}, % default is 200/200
/ = { ,-100}, % default uses 200
( = {67, }, % default uses 100
) = { ,67}, % default uses 200
{,} = { ,167}, % default uses 500
: = { ,167}, % default uses 500
; = { ,100}, % default uses 300
. = { ,233}, % default uses 700
? = { ,33} } % default uses 100
\SetProtrusion
[ name = ptm-it-adapted,
load = ptm-it-T1 ]
{ encoding = T1,
family = {ptm,ptmx,ptmj},
shape = {it,sl} }
{ f = { ,-300},
: = { ,0}, % default uses 500
. = { ,233} } % default uses 700
\LoadMicrotypeFile{ppl}
\SetProtrusion
[ name = ppl-adapted,
load = ppl-T1 ]
{ encoding = T1,
family = {ppl,pplx,pplj} }
{ \textquoteleft = {150, }, % default uses 500
\textquoteright = { ,150}, % default uses 700
\textquotedblleft = {75, }, % default uses 300
\textquotedblright = { ,75}, % default uses 400
\textendash = {0,0}, % default is 300/300
\textemdash = {0,0}, % default is 200/200
/ = { ,100}, % default uses 300
( = {50, }, % default uses 100
) = { ,150}, % default uses 300
{,} = { ,250}, % default uses 500
: = { ,250}, % default uses 500
; = { ,250}, % default uses 500
. = { ,350}, % default uses 700
? = { ,100} } % default uses 200
\SetProtrusion
[ name = txtt ]
{ encoding = T1,
family = txtt,
shape = {it,sl} }
{ f = { ,-120},
- = { ,300} } % in order to match ordinary hyphens' protrusion in body text