Skip to content

Come posso ottenere un elenco di tutte le combinazioni fontfamily{...}fontseries{...}?

Se trovi un bug con il tuo codice o lavoro, ricordati di testare sempre in un ambiente di test prima di aggiungere il codice al progetto finale.

Soluzione:

Le descrizioni dei caratteri sono solitamente conservate in .fd (ma non è obbligatorio, alcuni pacchetti possono definire i font direttamente nel file .sty ).

Il comando di shell

fd '^[tT]1.*.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l

(fd è uno script che fornisce un'interfaccia più semplice rispetto a find) restituisce 555.

Quindi ci sono 555 famiglie di font che supportano la codifica T1 (e 502 per la codifica OT1, con una riga di comando simile).

Ora il compito è quello di guardare all'interno di ogni famiglia di font .fd che vi interessa ed estrarre le informazioni relative alla forma e alla serie fornite dalla famiglia di caratteri. A titolo di esempio, T1Roboto-LF.fd contiene

%% Generated by autoinst on 2015/09/15
%%
ProvidesFile{T1Roboto-LF.fd}
    [2015/09/15 (autoinst)  Font definitions for T1/Roboto-LF.]

expandafterifxcsname [email protected]endcsnamerelax
    let[email protected]@scale@empty
else
    edef[email protected]@scale{s*[csname [email protected]endcsname]}%
fi

DeclareFontFamily{T1}{Roboto-LF}{}

DeclareFontShape{T1}{Roboto-LF}{l}{sc}{
      <-> [email protected]@scale Roboto-Light-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{l}{n}{
      <-> [email protected]@scale Roboto-Light-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{l}{it}{
      <-> [email protected]@scale Roboto-LightItalic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{l}{scit}{
      <-> [email protected]@scale Roboto-LightItalic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{l}{scsl}{
      <-> ssub * Roboto-LF/l/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{l}{sl}{
      <-> ssub * Roboto-LF/l/it
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{sc}{
      <-> [email protected]@scale Roboto-Black-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{n}{
      <-> [email protected]@scale Roboto-Black-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{it}{
      <-> [email protected]@scale Roboto-BlackItalic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{scit}{
      <-> [email protected]@scale Roboto-BlackItalic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{scsl}{
      <-> ssub * Roboto-LF/k/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{k}{sl}{
      <-> ssub * Roboto-LF/k/it
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{sc}{
      <-> [email protected]@scale Roboto-Bold-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{n}{
      <-> [email protected]@scale Roboto-Bold-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{it}{
      <-> [email protected]@scale Roboto-BoldItalic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{scit}{
      <-> [email protected]@scale Roboto-BoldItalic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{scsl}{
      <-> ssub * Roboto-LF/b/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{b}{sl}{
      <-> ssub * Roboto-LF/b/it
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{sc}{
      <-> [email protected]@scale Roboto-Medium-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{n}{
      <-> [email protected]@scale Roboto-Medium-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{it}{
      <-> [email protected]@scale Roboto-MediumItalic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{scit}{
      <-> [email protected]@scale Roboto-MediumItalic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{scsl}{
      <-> ssub * Roboto-LF/mb/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{mb}{sl}{
      <-> ssub * Roboto-LF/mb/it
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{sc}{
      <-> [email protected]@scale Roboto-Regular-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{n}{
      <-> [email protected]@scale Roboto-Regular-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{it}{
      <-> [email protected]@scale Roboto-Italic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{scit}{
      <-> [email protected]@scale Roboto-Italic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{scsl}{
      <-> ssub * Roboto-LF/m/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{m}{sl}{
      <-> ssub * Roboto-LF/m/it
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{sc}{
      <-> [email protected]@scale Roboto-Thin-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{n}{
      <-> [email protected]@scale Roboto-Thin-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{it}{
      <-> [email protected]@scale Roboto-ThinItalic-lf-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{scit}{
      <-> [email protected]@scale Roboto-ThinItalic-lf-sc-t1
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{scsl}{
      <-> ssub * Roboto-LF/t/scit
}{}

DeclareFontShape{T1}{Roboto-LF}{t}{sl}{
      <-> ssub * Roboto-LF/t/it
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{sl}{
      <-> ssub * Roboto-LF/b/sl
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{scsl}{
      <-> ssub * Roboto-LF/b/scsl
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{sc}{
      <-> ssub * Roboto-LF/b/sc
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{n}{
      <-> ssub * Roboto-LF/b/n
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{it}{
      <-> ssub * Roboto-LF/b/it
}{}

DeclareFontShape{T1}{Roboto-LF}{bx}{scit}{
      <-> ssub * Roboto-LF/b/scit
}{}

endinput

che dice che il font fornisce la serie

  • l (luce)
  • k (nero)
  • b (grassetto)
  • mb (grassetto medio)
  • m (medio o regolare)
  • t (sottile)

e definisce bx come alias per b.

I descrittori, a parte m e b sono essenzialmente stringhe arbitrarie. La Guida ai font LaTeX (texdoc fntguide) elenca solo alcuni valori "comuni". Ciò che un pacchetto di font chiama k potrebbe essere molto diverso da quello di un altro.

Non tutti i valori possibili, ma è possibile ottenere una panoramica delle opzioni più comuni passando il mouse sul comando in questione in texstudio:

(questo non controlla se tutti i font sono installati sul sistema e quali pesi hanno effettivamente).

enter image description hereenter image description here

Recensioni e valutazioni del tutorial

Hai la possibilità di aggiungere valore alle nostre informazioni rendendo omaggio alla tua esperienza nelle recensioni.



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.