Re: LaTeX Font Warning

#49612
Up
0
Down
::

No, il Warning resta.
Ma spero non sia così grave, a questo punto…
Se non sa eliminarlo nemmeno un Gregorio,
dubito anche di Knuth e Lamport… 🙂

Non dubitare mai. 🙂

Risposta facile.
`\newcommand{\GR}[1]{%
{\fontfamily{cmr}\selectfont\foreignlanguage{greek}{#1}}%
}`

Risposta un po’ più generale: la definizione di \GR può essere come la tua originale.
`\DeclareRobustCommand{\greektext}{%
\fontencoding{LGR}\fontfamily{cmr}\selectfont
\def\encodingdefault{LGR}}`
Più generale perché puoi sostituire “cmr” con, per esempio, “artemisia” e avere un font greco che forse si adatta meglio al Palatino; oppure “porson”.

Risposta ancora migliore, perché non richiede di andarsi a copiare la definizione di \greektext, ma solo di sapere che contiene \selectfont:
`\usepackage{etoolbox}
\letcs{\temp}{greektext }
\patchcmd{\temp}{\selectfont}{\fontfamily{cmr}\selectfont}{}{}
\cslet{greektext }\temp`
Come prima, si può sostituire “cmr” con il nome di una famiglia di font appropriata.

Risposta “quasi definitiva”.
`\usepackage{etoolbox}
\makeatletter
\letcs{\temp}{greektext }
\patchcmd{\temp}{\selectfont}{\fontfamily{\@greek@fontfamily}\selectfont}{}{}
\cslet{greektext }\temp
\def\@greek@fontfamily{cmr}
\newcommand{\DeclareGreekFontFamily}[1]{%
\def\@greek@fontfamily{#1}}
\makeatother`
Con questo puoi usare il comando \DeclareGreekFontFamily nel preambolo per decidere la famiglia di font da usare per il greco.

Risposta “definitiva”: scriversi un pacchetto, diciamo greekfont.sty:
`\ProvidesPackage{greekfont}[2010/09/09 v. 0.1]
\DeclareOption{cmr}{\def\@greek@fontfamily{cmr}}
\DeclareOption*{\edef\@greek@fontfamily{\CurrentOption}}
\ExecuteOptions{cmr}
\ProcessOptions\relax

\@ifpackageloaded{babel}{}{\endinput}
\@ifpackagewith{babel}{greek}{}{%
\@ifpackagewith{babel}{polutonikogreek}{}{\endinput}}

\RequirePackage{etoolbox}
\letcs{\@temp}{greektext }
\patchcmd{\@temp}{\selectfont}{\fontfamily{\@greek@fontfamily}\selectfont}{}{}
\cslet{greektext }\@temp
\endinput`
Il documento minimale è
`\documentclass[a4paper]{article}
\usepackage[greek,italian]{babel}
\usepackage{greekfont}
% \usepackage[artemisia]{greekfont}
\newcommand{\GR}{\foreignlanguage{greek}}

\begin{document}
A \GR{Bgd} ef
\end{document}`
Il pacchetto greekfont può essere chiamato dando come opzione un font per il quale esista la famiglia greca, per esempio “artemisia” come indicato. Basta scambiare i commenti alle due chiamate di “greekfont” per vedere l’effetto.

Se però questa famiglia di font non possiede le codifiche per i font OT1 e T1, ci sarà un altro avviso. 🙁 Che si può fare? Così è la vita. 🙂

Ciao
Enrico

Go to top