Riferimenti autori affiliazioni

  • Creatore
    Topic
  • #22247
    Up
    0
    Down
    ::


    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

    Emilio

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #22248
      Up
      0
      Down
      ::

      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

    • #22249
      Up
      0
      Down
      ::


      Puoi dare anche un’occhiata alla classe RevTex di physical review. Hanno delle macro che fanno esattamente quello che chiedi.

    • #22250
      Up
      0
      Down
      ::


      Vorrei ringraziare sia Enrico che Michele per i suggerimenti. Proverò a fare quanto suggerito e caso mai vi faccio sapere.

      Emilio

Visualizzazione 2 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top