Re: Modificare ClassicThesis con il pacchetto ArsClassica

#25902
lorenzo.pantieri
Partecipante
    Up
    0
    Down
    ::

    1. Aggiungere le opzioni “spanish” e “german” oltre ad “italian”. Vedo che cosa riesco a fare.

    Ho fatto pochino. 😳

    `%************************************************************
    % Options
    %************************************************************
    \newboolean{english}
    \newboolean{french}
    \newboolean{german}
    \newboolean{spanish}
    \newboolean{italian}
    \DeclareOption{english}{\setboolean{english}{true}}
    \DeclareOption{french}{\setboolean{french}{true}}
    \DeclareOption{german}{\setboolean{german}{true}}
    \DeclareOption{spanish}{\setboolean{spanish}{true}}
    \DeclareOption{italian}{\setboolean{italian}{true}}
    \ProcessOptions\relax

    %************************************************************
    % backref
    %************************************************************
    \ifthenelse{\boolean{english}}%
    {%
    \PackageInfo{arsclassica}{Using option “english”. %
    This activates english language in “backref”.}
    \renewcommand*{\backreftwosep}{ and~}
    \renewcommand*{\backreflastsep}{, and~}
    \renewcommand*{\backrefalt}[4]{%
    \ifcase #1 %
    \relax%
    \or
    (Cited on page~#2.)%
    \else
    (Cited on pages~#2.)
    \fi}
    }
    {\relax}

    \ifthenelse{\boolean{french}}%
    {%
    \PackageInfo{arsclassica}{Using option “french”. %
    This activates french language in “backref”.}
    \renewcommand*{\backreftwosep}{ et~}
    \renewcommand*{\backreflastsep}{ et~}
    \renewcommand*{\backrefalt}[4]{%
    \ifcase #1 %
    \relax%
    \or
    (Cit\'e \`a page~#2.)%
    \else
    (Cit\'e aux pages~#2.)
    \fi}
    }
    {\relax}

    \ifthenelse{\boolean{german}}%
    {%
    \PackageInfo{arsclassica}{Using option “german”. %
    This activates german language in “backref”.}
    \renewcommand*{\backreftwosep}{ und~}
    \renewcommand*{\backreflastsep}{ und~}
    \renewcommand*{\backrefalt}[4]{%
    \ifcase #1 %
    \relax%
    \or
    (Zitiert auf Seite~#2.)%
    \else
    (Zitiert auf Seiten~#2.)
    \fi}
    }
    {\relax}

    \ifthenelse{\boolean{spanish}}%
    {%
    \PackageInfo{arsclassica}{Using option “spanish”. %
    This activates spanish language in “backref”.}
    \renewcommand*{\backreftwosep}{ y~}
    \renewcommand*{\backreflastsep}{ y~}
    \renewcommand*{\backrefalt}[4]{%
    \ifcase #1 %
    \relax%
    \or
    (Citado en la p\'agina~#2.)%
    \else
    (Citado en las p\'aginas~#2.)
    \fi}
    }
    {\relax}

    \ifthenelse{\boolean{italian}}%
    {%
    \PackageInfo{arsclassica}{Using option “italian”. %
    This activates italian language in “backref”.}
    \renewcommand*{\backreftwosep}{ e~}
    \renewcommand*{\backreflastsep}{ e~}
    \renewcommand*{\backrefalt}[4]{%
    \ifcase #1 %
    \relax%
    \or
    (Citato a pagina~#2.)%
    \else
    (Citato alle pagine~#2.)
    \fi}
    }
    {\relax}

    %************************************************************
    % minitoc
    %************************************************************
    \@ifpackageloaded{minitoc}
    {%
    \ifthenelse{\boolean{english}}%
    {%
    \def\ptctitle{contents}
    \def\mtctitle{contents}
    \def\stctitle{contents}
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    {%
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    }
    {\relax}

    \@ifpackageloaded{minitoc}
    {%
    \ifthenelse{\boolean{french}}%
    {%
    \def\ptctitle{mati\`eres}
    \def\mtctitle{mati\`eres}
    \def\stctitle{mati\`eres}
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    {%
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    }
    {\relax}

    \@ifpackageloaded{minitoc}
    {%
    \ifthenelse{\boolean{german}}%
    {%
    \def\ptctitle{inhaltsverzeichnis}
    \def\mtctitle{inhaltsverzeichnis}
    \def\stctitle{inhaltsverzeichnis}
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    {%
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    }
    {\relax}

    \@ifpackageloaded{minitoc}
    {%
    \ifthenelse{\boolean{spanish}}%
    {%
    \def\ptctitle{\'indice}
    \def\mtctitle{\'indice}
    \def\stctitle{\'indice}
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    {%
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    }
    {\relax}

    \@ifpackageloaded{minitoc}
    {%
    \ifthenelse{\boolean{italian}}%
    {%
    \def\ptctitle{indice}
    \def\mtctitle{indice}
    \def\stctitle{indice}
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    {%
    \setlength{\mtcindent}{0pt}
    \renewcommand{\mtifont}{\normalsize\sffamily%
    \scshape\lsstyle}
    }
    }
    {\relax}`
    Come vedete, ho definito le opzioni english, french, german, spanish e italian e ho ripetuto le impostazioni di backref e minitoc caso per caso, mutatis mutandis. Ci sono due cose che non vanno:
    a) il codice è davvero goffo, anche se (credo…) funzionante. Se avete suggerimenti per migliorarlo, sono qui. Più importante, però, è il punto seguente.
    b) Vorrei che l’opzione english fosse quella predefinita. In altre parole, vorrei che scrivere
    `\usepackage{arsclassica}`
    fosse equivalente a
    `\usepackage[english]{arsclassica}`
    Come si fa?

    2. Riscrivere la documentazione in inglese. Idem come sopra.

    Quasi pronta. CTAN è un ambiente internazionale, ed è giusto che i manuali siano in inglese. Sfortunatamente, il mio inglese è scarsino… 😥

    3. Rinominare il comando \myincludegraphics. Vorrei però mantenere (per ora!) il nome \myincludegraphics per ragioni di retro-compatibilità.

    Ecco, dovreste correggermi questo:
    `%************************************************************
    % graphicx, xcolor
    %************************************************************
    \definecolor{aliceblue}{RGB}{240,248,255}

    \newcommand{\xincludegraphics}[2][]{%
    \begingroup\setlength{\fboxsep}{0pt}%
    \colorbox{aliceblue}{\includegraphics[#1]{#2}}%
    \endgroup}

    \newcommand{\myincludegraphics}{%
    \PackageWarningNoLine{arsclassica}{Command “myincludegraphics” is deprecated, used “xincludegraphics” instead.}
    \xincludegraphics}`
    Non infierite: conto sulla vostra magnanimità.

    Ciao,
    L.

    Go to top