Template:Colonne allineate/doc

Da Wikisource.

Descrizione[modifica]

Questo template permette di riprodurre, sia in nsPagina che in ns0, un testo diviso in due colonne, anche su più pagine, le cui righe debbano rimanere allineate tra loro.

Utilizzo[modifica]

In nsPagina[modifica]

Nel namespace Pagina il template va inserito senza parametri all'inizio delle due colonne. Il testo di ciascuna colonna va inserito (tutto insieme) in una section, che deve chiamarsi s1 per la prima e s2 per la seconda. I rimanenti template {{AltraColonna}} e {{FineColonna}} servono a generare in nsPagina il layout a due colonne. L'allineamento si basa sul carattere di "a capo" inserito in pagina, quindi per ottenere un perfetto allineamento, anche le righe bianche devono corrispondere tra loro.

{{Colonne allineate}}
<section begin="s1" />
Testo della prima colonna
Seconda riga
Terza riga
. . . . . . . . . . .
<section end="s1" />

{{AltraColonna}}
<section begin="s2" />
Testo della seconda colonna
Seconda riga
. . . . . . . . . . .
<section end="s2" />
{{FineColonne}}


In ns0[modifica]

Nel namespace principale, il template va richiamato in maniera analoga a quanto si fa con il tag pages. Se il testo della colonna continua nella pagina successiva senza a capi, verrà "riattaccato", lasciando uno spazio bianco tra l'ultima parola della pagina precedente e la prima parola della pagina successiva. Se c'è una parola spezzata tra una pagina e l'altra, va usato il template {{Pt}} per riattaccarla.

{{Colonne allineate
|indice = Nome della pagina indice (senza Indice: davanti)
|from = numero della prima pagina da trascludere
|to = numero dell'ultima pagina da trascludere
}}

Esempio tratto da Dialoghi piacevoli in dialetto vernacolo triestino/Dialogo Primo:

{{Colonne allineate
|indice = Mainati - Dialoghi piacevoli in dialetto vernacolo triestino, Trieste, Marenigh, 1828.pdf
|from = 11
|to = 14
}}

Note tecniche[modifica]

Si è scelto di avere in nsPagina prima tutto il testo della prima colonna, poi tutto il testo della seconda, per avere una sintassi più semplice e facilitare l'inserimento senza dover matchare le righe già nel wikitesto.

È possibile anche trascludere solo la prima o solo la seconda colonna, usando un normale tag pages con il parametro onlysection:

<pages index="..." from="1" to="5" onlysection="s1" />

In nsPagina l'allineamento tra le righe delle due colonne è ottenuto tramite una funzione JavaScript che allinea tra loro i rispettivi tag p dandogli la stessa altezza.

In ns0 invece l'allineamento è "solido": il testo viene parsato riga per riga dal Modulo:Colonne e viene generata una serie di tabelle con due celle, con il contenuto delle due righe corrispondenti. Il modulo carica il testo direttamente mediante labeled section transclusion (LST) e non tramite il tag pages: questo comporta lo svantaggio della mancanza del pagenumber in ns0.