\shorthandoff{“} dopo \begin{document}, se usi solo l’italiano.
Ciao
Enrico
No, non funziona.
\shorthandoff non viene definito da Polyglossia e pertanto quando compilo con xelatex dà errore. Per ovviare a questo ho provato a mettere \AtBeginDocument{\shorthandoff{“}} nel blocco di testo che viene processato durante la compilazione con pdflatex, ma in questo caso non si ha il comportamento voluto. È come se venisse ignorata la ridefinizione`\catcode`\”=\active
\def”{\ifmmode\relax\else\origquote\fi}` Nel pdf compaiono le virgolette presenti nell’ambiente matematico che dovrebbero venir sostituite da \relax .
`\documentclass[a4paper]{article}
\input ifxetex.sty
\ifxetex
% CODICE PER XELATEX
\usepackage{mathspec}
\usepackage{polyglossia}
\setmainlanguage{italian}
\setmathsfont(Digits,Latin,Greek){Adobe Garamond Pro}
\setmainfont[Mapping=tex-text]{Adobe Garamond Pro}
\else
% CODICE PER PDFLATEX
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\let\origquote=”
\catcode`\”=\active
\def”{\ifmmode\relax\else\origquote\fi}
\AtBeginDocument{\shorthandoff{“}}
\fi
\begin{document}
\centering
\textit{de”fgh}
\begin{equation}
de”fgh
\end{equation}
\end{document}`:)
LuCa