Re: Separare il contenuto di una vbox con un ciclo while

#56394
Up
0
Down
::

Caro Enrico,
voglio seguire il tuo autorevole consiglio. Potresti indicarmi cosa iniziare a leggere per poter definire un ambiente come quello che proponi?
Mi sembra di capire che l’ambiente debba assomigliare a thebibliography con all’interno i suoi bibitem. In quale file trovo la loro definizione? In alternativa dove posso guardare: nei tuoi appunti, nel LaTeX Companion, nell’Arte o nella Guida GuIT?

Negli Appunti guarda dove si parla delle liste. Questa sarebbe una “lista di liste”.

L’idea è di memorizzare il contenuto dell’ambiente dentro alcune macro e poi elaborarle alla bisogna. L’ambiente stesso può eventualmente ricevere diverse definizioni. Vediamo un caso velocemente:
`\begin{addresses}
\address{politicheminori}{Servizio Politiche per i Minori, l'Infanzia e l'Adolescenza\\
Ufficio interventi integrativi\\
Rosaria Dinevoli}
\address{organipolitici}{Municipalità 1 – Organi Politici\\
Commissioni Consiliari: segreteria e conferenza dei Presidenti\\
Eugenio Izzo Aiazzone}
\address{munic-chiaia}{Direttore della I Municipalità Chiaia — San Ferdinando — Posillipo\\
Segreteria della direzione}
\address{archivistorici}{Servizio Archivi Storici\\
Referente visite guidate, Real Casa Santa dell'Annunziata: ramo esposti\\
Lucia Renzulli}
\end{addresses}`
Vediamo un possibile modo di usare la faccenda.
`\makeatletter
\newenvironment{addresses}
{\newcommand{\address}[2]{\global\@namedef{addr@#1}{#2}}
{}
\makeatother`
Quando LaTeX legge l’ambiente addresses definisce una macro per ciascun comando \address che incontra, la quale si espande all’indirizzo. Come la possiamo usare?
`\makeatletter
\newcommand{\useaddress}[2][]{%
#1\expandafter\format@address\csname addr@#1\endcsname}
\makeatother`
La si chiamerà con
`\useaddress[\TO]{politicheminori}\\
\useaddress{archivistorici}\\[6pt]
\useaddress[\EPC]{munic-chiaia}\\
\useaddress{organipolitici}`
Naturalmente occorre definire \format@address e questo può essere fatto in modo analogo a quello che abbiamo visto nell’altro filone. Il modo più semplice è di scrivere semplicemente l’indirizzo senza alcun formato:
`\makeatletter
\def\format@address#1{#1}
\makeatother`
I comandi \TO e \EPC sono quasi ovvi.

Ciao
Enrico

Go to top