Ciao,
volendo scrivere una nuova classe documento basata su quella standard report, che integri il pacchetto Geometry, con lo scopo di comprendere automaticamente il più elevato numero di formati di pagina, ho scritto il seguente codice:`\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{myclass}
[2010/04/17 v0.0.0.1 Test of myclass]
\RequirePackage{pstricks}
\RequirePackage{geometry}
%
% Option declaration section
%
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{report}}
%
% Process option section
%
\ExecuteOptionsX{a4paper}
\ProcessOptionsX
%
% Loading base class section
%
\LoadClass{report}
\endinput`inutile dire che non funziona: il pacchetto geometry restituisce con il seguente documento di test un errore di dimensione di pagina nulle.
`\documentclass{myclass}\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\begin{document}
a4paper 10pt\begin{pspicture}(3,3)
\psline(3,3)
\end{pspicture}
\end{document}`
L’idea sarebbe quella di mantenere le opzioni a4paper e 10pt come quelle di default, mentre se diversamente specificato, le opzioni di classe desiderate.Potrei anche rinunciare a risolvere il problema semplicemente eliminando le opzioni di classe per gestire i parametri con appositi comandi di preambolo, ma gli utenti sono così abituati…
Grazie davvero!!! 😉
Stai passando tutte le opzioni a report, non vedo come geometry possa vederle. Prima di tutto caricherei esplicitamente xkeyval e non certo pstricks:
`\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{myclass}
[2010/04/17 v0.0.0.1 Test of myclass]
\RequirePackage{xkeyval}
\RequirePackage{geometry}
%
% Option declaration section
%
\newcommand{\mc@DeclareOptionXGm}[1]{%
\DeclareOptionX
\mc@DeclareOptionXGm{a4paper}
\mc@DeclareOptionXGm{letterpaper}
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{report}}
%
% Process option section
%
\ExecuteOptionsX
\ProcessOptionsX
%
% Loading base class section
%
\LoadClass{report}`
Ciao
Enrico