Ci do un occhiata.
Claudio
Ci ho dato una occhiata e ho scoperto che anche prima delle modifiche di greek.ldf la cosa non poteva funzionare…:shock:
In realtà substitute font è comodo, ma…
Prima usava correttamente i font greci giusti nei tre esempi della documentazione perché vi usavi espressamente la dichiarazione esplicita della famigliadella famiglia, altrimenti, in generale avrebbe usato l’error font che è appunto quello della collezione cbgreek; se invece sostituivi \foreignlanguage{greek} con \textgreek, funzionava bene perché usavi la famiglia greca \SUF$greekfamily correttamante definita con l’opzione greekfont=… fra le opzioni della classe.
Se non fai queste cose la cosa non può funzionare, in particolare se usi il font latino di default che è il Palatino. Siccome il passaggio al greco avviene solo cambiando la codicifica, è ed era evidente che se la famiglia latina era T1+pplj, la famiglia greca corrispondente sarebbe lgr+pplj; il file lgrpplj.fd non esiste, e le corrispondenti dichiarazioni non esistono, quindi bisogna crearle. Con il Porsono le ridefinizioni esplicite le hai indicate tu nel file suftesi, ma vanno bene solo per quando si usa la dichiarazione esplicita della classe, non quando il cambio di lingua avviene solo con il cambio della codifica.
In ogni caso occorrono le definizioni per per eseguire l’abbinamento del font latino con quello greco, ma bisogna farle \AtBeginDocument, perché solo allora le varie opzioni della classe sono sicuramente già state elaborate e definite.. Io quindi ti suggerirei di sostituire/modificare un pezzetto delle classe con il codice seguente:
`\RequirePackage[LGR,T1]{fontenc}
\RequirePackage{substitutefont} % <---- aggiunta
\AtBeginDocument{\fontencoding{T1}\selectfont}
\ifsuftesi@standardfont
\RequirePackage{lmodern}
\relax
\else
\RequirePackage[osf,sc]{mathpazo}
\RequirePackage[scaled=0.8]{beramono}
\renewcommand{\sfdefault}{iwona}
\AtBeginDocument{%
\substitutefont{LGR}{\rmdefault}{\SUF@greekfamily}% <---- aggiunta
\DeclareRobustCommand{\greektext}{%
\usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape}}%
\DeclareTextFontCommand{\textgreek}{\greektext}
}`
A questo punto mi pare che le cose funzionino correttamente sia con il comando \textgreek sia con il comando \foreignalnguae e gli altri comandi di cambiamento di lingua.
Forse ci vorrebbero anche cambiamenti annaloghi per la famiglia sans serif, ma non è difficile aggiungerli; dubito che sia necessario aggiungerli per la famiglia tt.
Ho provato queste due piccole modifiche con il file seguente:`% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass[documentstructure=article%
%,greekfont=porson%
%,greekfont=cbgreek%
]{suftesi}
\usepackage[utf8]{inputenc}
\usepackage[greek.polutoniko,italian]{babel}
\begin{document}
\foreignlanguage{greek}{%
%\fontfamily{porson}\selectfont
%\textgreek{%
T`o g`ar kal`on >en meg'ejei ka`i t'axei >est'in.}~Il bello infatti
sta nella grandezza e nell'ordinata disposizione delle parti.
\end{document}`
Mettendo, spostando o togliendo i segni di commento puoi provare le varie configurazioni per il greco.