Ciao a tutti,
sono nuovo di questo forum e vorrei porre una domanda sperando che qualcuno mi possa aiutare. Sto creando un file .sty per definire lo stile da applicare agli articoli di una rivista scientifica. All’inizio di ciascun articolo dovrà comparire il titolo, gli autori e per ogni autore l’affiliazione (dipartimento o università di appartenenza). Mi piacerebbe creare un comando \author che mi permetta di definire un autore e un comando \affiliation che mi permetta di definire un’affiliazione. Vorrei poi poter indicare per ogni autore l’affiliazione cui si riferisce (potendo usare la stessa affiliazione per più autori diversi). Per capirci qualcosa di questo tipo:
`\author[aff1]{Paperino Paolino},\author[aff2]{Mickey Mouse},
\author[aff1]{Gastone Paperone},
\affiliation[aff1]{Università di Paperopoli}
\affiliation[aff2]{Università di Topolinia}`
Tutto ciò dovrebbe poi essere visualizzato facendo comparire la lista degli autori, la lista delle affiliazioni e tramite dei numeri o dei marker analoghi a quelli delle footnote indicare le corrispondenze. Ovviamente potrei usare le footnote però in questo caso le affiliazioni comparirebbero a pié di pagina, io invece vorrei che comparissero subito dopo la lista degli autori, sotto al titolo. Qualcuno può suggerirmi come fare? Ho spulciato un po’ di documentazione ma non sono riuscito a trovare nulla.Vi ringrazio fin da ora e mi scuso se sono stato troppo prolisso
Benvenuto. Con una domanda mica da ridere, poi!
Probabilmente ciò che vuoi non è un file .sty ma una classe (.cls) che puoi basare sulla classe article, suppongo. Ma a questo si può arrivare in seguito.
Cerchiamo di sistemare la faccenda delle affiliazioni. Dopo di che si dovrà ridefinire \maketitle per comporre l’intestazione come piacerebbe a te.
`\newtoks\auth@toks\newtoks\affil@toks
\newcounter{affil@count}
\renewcommand{\theaffil@count}{\textsuperscript{\fnsymbol{affil@count}}}
\renewcommand{\author}[2][]{%
\if!#1!%
\auth@toks=\expandafter{\the\auth@toks\@author{#2}}%
\else
\auth@toks=\expandafter{\the\auth@toks\@authoraff{#1}{#2}}%
\fi
}
\newcommand{\affiliation}[2][]{%
\ifnum\c@affil@count<0
\ClassError{emilio}{Two affiliations given without optional argument}{}%
\else
\if!#1!%
\affil@toks={\@oneaffil{#2}}%
\c@affil@count=-1
\else
\affil@toks=\expandafter{\the\affil@toks\@affil{#1}{#2}}%
\refstepcounter{affil@count}\label{#1}%
\fi
\fi
}
\renewcommand{\@author}[1]{\par#1}
\newcommand{\@authoraff}[2]{\par#2\ref{#1}}
\newcommand{\@oneaffil}[1]{\par#1}
\newcommand{\@affil}[2]{\par\ref{#1}\ #2}
\def\printauthors{\the\auth@toks}
\def\printaffiliations{\the\affil@toks}`
Ovviamente dovrai poi definirti in modo coerente con i tuoi gusti i comandi \@author, \@authoraffil, \@oneaffil e \@affil, \printauthors e \printaffiliations (questi ultimi due saranno chiamati dalla nuova definizione di \maketitle)
Immagino le seguenti situazioni.
1. Uno o più autori con la stessa affiliazione. In tal caso non è necessario mettere simboletti di richiamo e i comandi vanno dati senza argomento opzionale:
`\author{Pietro Gambadilegno}
\author{Macchia Nera}
\affiliation{Carcere di Topolinia}`
2. Più autori con più affiliazioni: occorre dare un’etichetta nell’argomento opzionale che richiama l’identica etichetta data nelle affiliazioni:
`\author[aff1]{Paperino Paolino}
\author[aff2]{Mickey Mouse}
\author[aff1]{Gastone Paperone}
\affiliation[aff1]{Università di Paperopoli}
\affiliation[aff2]{Università di Topolinia}`
Adesso bisogna stabilire come vuoi che appaia l’intestazione, questo metodo mi pare funzioni. Unica restrizione: non si può usare il punto esclamativo nelle etichette (poco male, direi).
Ciao
Enrico