Re: Scalare Latin Modern Typewriter Proportional

#99147
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Usando il pacchetto xkeyval le definizioni per le opzioni sono più semplici; mettendo nel pacchetto anche la descrizione del font modificata con l’aggiunta del fattore di scala, si ha il duplice vantaggio di poter specificare con una opzione il fattore di scala nella chiamata del pacchetto, e non si ha nessuna interferenza fra la descrizione dei font di questo pacchetto e quella degli altri font; quindi puoi salvarlo nel tuo albero personale e usarlo con qualunque documento.`\NeedsTeXFormat{LaTeX2e}
    \ProvidesPackage{lmvttscaled}[2014/12/19 v.1.0 Load Latin Modern variable teletype font with appropriate scale factor]
    \RequirePackage{xkeyval}
    \DeclareOptionX{scalefactor}[1.0]{\def\lmvtt@scale@factor{#1}}
    \DeclareOptionX*{PackageWarning{lmvttscaled}{`\CurrentOption' ignored}}
    \ExecuteOptionsX{scalefactor=1.0}
    \ProcessOptionsX

    \DeclareFontFamily{T1}{lmvtt}{}

    \ifx\lmtt@use@light@as@normal\@empty
    % macro defined, so we use the light variant as medium (m), and
    % medium as semi-bold (sb):
    \DeclareFontShape{T1}{lmvtt}{sb}{n}
    {<-> [\lmvtt@scale@factor] ec-lmvtt10}{}
    \DeclareFontShape{T1}{lmvtt}{sb}{sl}
    {<-> [\lmvtt@scale@factor] ec-lmvtto10}{}
    \DeclareFontShape{T1}{lmvtt}{sb}{it}
    {<->sub*lmvtt/m/sl}{}
    %%%%%%%% light (l) and dark (b) variants:
    \DeclareFontShape{T1}{lmvtt}{m}{n}
    {<-> [\lmvtt@scale@factor] ec-lmvtl10}{}
    \DeclareFontShape{T1}{lmvtt}{m}{sl}
    {<-> [\lmvtt@scale@factor] ec-lmvtlo10}{}
    \DeclareFontShape{T1}{lmvtt}{m}{it}
    {<->sub*lmvtt/l/sl}{}

    \else
    % usual setup of variants:
    \DeclareFontShape{T1}{lmvtt}{m}{n}
    {<-> [\lmvtt@scale@factor] ec-lmvtt10}{}
    \DeclareFontShape{T1}{lmvtt}{m}{sl}
    {<-> [\lmvtt@scale@factor] ec-lmvtto10}{}
    \DeclareFontShape{T1}{lmvtt}{m}{it}
    {<->sub*lmvtt/m/sl}{}
    %%%%%%%% light (l) and dark (b) variants:
    \DeclareFontShape{T1}{lmvtt}{l}{n}
    {<-> [\lmvtt@scale@factor] ec-lmvtl10}{}
    \DeclareFontShape{T1}{lmvtt}{l}{sl}
    {<-> [\lmvtt@scale@factor] ec-lmvtlo10}{}
    \DeclareFontShape{T1}{lmvtt}{l}{it}
    {<->sub*lmvtt/l/sl}{}
    \fi
    % bold is always bold (b):
    \DeclareFontShape{T1}{lmvtt}{b}{n}
    {<-> [\lmvtt@scale@factor] ec-lmvtk10}{}
    \DeclareFontShape{T1}{lmvtt}{b}{sl}
    {<-> [\lmvtt@scale@factor] ec-lmvtko10}{}
    \DeclareFontShape{T1}{lmvtt}{b}{it}
    {<->sub*lmvtt/b/sl}{}
    \DeclareFontShape{T1}{lmvtt}{bx}{n}
    {<->ssub*lmvtt/b/n}{}
    \DeclareFontShape{T1}{lmvtt}{bx}{sl}
    {<->ssub*lmvtt/b/sl}{}
    \DeclareFontShape{T1}{lmvtt}{bx}{it}
    {<->sub*lmvtt/b/sl}{}
    \AtBeginDocument{\renewcommand*\ttdefault{lmvtt}}

    \endinput` Puoi verificare con questo esempio minimo`\documentclass{article}

    \usepackage[T1]{fontenc}

    \usepackage{lmodern}
    \usepackage[scalefactor=0.9]{lmvttscaled}

    \begin{document}

    \sffamily Questo testo viene scritto con un font lineare, mentre \ttfamily questo testo viene scritto in teletype a spaziatura variabile.

    \end{document}`L’opzione alla chiamata del pacchetto è facoltativa, nel senso che se non specifichi nessun fattore di scala viene usato il valore unitario.

    Go to top