%20la%20configuraci%C3%B3n%20de%20protrusi%C3%B3n%20de%20caracteres%20del%20microtipo%20para%20caracteres%20espec%C3%ADficos.png)
Me gustaría deshabilitar o modificar la protrusión de caracteres (habilitada por microtype
) para caracteres específicos.
Permítanme ilustrar el problema con el tablero, que sobresale demasiado para mi gusto:
(izquierda: sin protuberancia; derecha: con protuberancia)
Sin embargo, no puedo desactivar la protrusión con \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}
También recibo la siguiente advertencia:
Package microtype Warning: protrusion codes list `ptm-T1' will override list
(microtype) `q.tex/9' for font `T1/ptm///' on input line 105.
De acuerdo a¿Cómo llamo \SetProtrusion de microtipo en el preámbulo?, incluyendo una línea \LoadMicrotypeFile{ptm}
justo antes de \SetProtrusion
las ayudas; Si intento esto, parece solucionar el problema de --
( \textendash
), pero (1) la molesta advertencia permanece y (2) mi código se desactiva.todoprotrusión (anulando toda la lista de valores de protrusión con mi lista corta). ¿Cuál es la forma correcta de anular parcialmente la configuración predeterminada de protrusión de caracteres? Idealmente, habrá una forma que elimine las advertencias sin deshabilitar microtype
funciones importantes.
Respuesta1
Así es como puede ampliar o modificar la configuración existente:
Asegúrese de que las configuraciones que desea cambiar ya estén cargadas; en el preámbulo, no se garantiza que este sea el caso, por lo que necesita
\LoadMicrotypeFile
.Cree nuevas configuraciones que carguen la configuración predeterminada a través de la
load
clave.Si desea establecer la protrusión de cualquier glifo en cero, debe hacerlo explícitamente: declarar valores de protrusión vacíos (por ejemplo,
\textendash = {,}
) no cambiará nada.Si la advertencia que recibes te molesta, puedes suprimirla cargando el paquete conEDITAR: Desde la versión 2.7, ya no recibirá una advertencia si la lista anulada es la misma que la que se cargó.verbose=silent
; Tenga en cuenta, sin embargo, que esto también suprimirá todas las demásmicrotype
advertencias. (Supongo que algo como unaoverride
clave para la configuración sería útil, pero por ahora así es como está).
Entonces, para convertir esto en código:
\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
}
Para ajustar la configuración de más de una fuente, debe hacer lo mismo nuevamente (cargar la configuración y crear otras nuevas), es decir, emitir \SetProtrusion
(con \LoadMicrotypeFile
) varias veces:
\LoadMicrotypeFile{ppl}
\SetProtrusion
[ load = ppl-T1 ]
{ encoding = T1,
family = {ppl,pplx,pplj} }
{ ... }
Otra posibilidad, más simple pero menos detallada, podría ser cargar el paquete con factor
menos de 1000; esto escalará los valores de protrusión de todos los glifos de todas las fuentes. Por ejemplo,
\usepackage[factor=500]{microtype}
reduciría a la mitad todos los valores de protrusión.
Respuesta2
Actualmente cargo microtype
con ajustes de protrusión de la siguiente manera. Quizás alguien esté interesado en usar mis valores, especialmente para Times ( ptm
), que en mi humilde opinión tiene demasiada protuberancia.Tenga en cuenta que mi selección de ajustes no pretende ser exhaustiva.
\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