I' ho veduto già dimolte piazze
Per diverse città ; ma de' vicini
3 Vorre' cantar lasciando I' altre razze ,
Bella mi par quella de' Perugini ,
Di belle case adorna per ragione ,
6 Ed anche la Jun bella i Fiorentini .
Ma dell' altre città non far menzione ,
Che se ti bisognasse per tuo scampo
9 Trovar non vi potresti un testimone .
Quella di Siena , ch' è chiamato il Campo ,
ecc...
tutto ciò può essere fatto in LaTeX con un modulo aggiuntivo, ma vorrei
tenere LaTeX come extrema ratio. il problema più grosso in writer è il far
ripartire la numerazione ad ogni canto (che occupa in media sette otto
pagine). devo rassegnarmi a usare laTeX? mi chiedevo se si potesse
imbastire qualche macro
--
Puppy Linux wiki: http://puppylover.netsons.org/dokupuppy
Puppy Linux Forum: http://puppylinux.ilbello.com
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...
Diciamo che via macro non è molto agevole orientarsi in un testo già
fatto per modificarlo.
Risulta invece abbastanza semplice la creazione ex novo di un documento
tenendo conto che il cursore è sempre alla fine del documento stesso.
Una via semplice potrebbe essere utilizzare un documento sorgente ed uno
destinazione.
Nel sorgente ci metti il testo così come è.
Puoi estrarre dalla sorgente paragrafo per paragrafo adattando (di molto
poco) la macro del post precedente.
Poi riscrivi in un nuovo documento applicando le modifiche di formato
riga per riga secondo le tue necessità.
Finito tutto copi e incolli dove più ti aggrada (oppure continui il
lavoro sempre sullo stesso documento destinazione).
Ad esempio utilizzando questa macro puoi scrive al fondo del documento
destinazione la stringa.
sub InserisciStringa (testo,dimensioni,bold)
Dim Cursor As Object
Dim ugo as Object
Dim objText as Object
Cursor = Doctesto.Text.createTextCursor()
Cursor.gotoEnd (Expand)
objText = Doctesto.GetText()
Cursor.setPropertyValue("ParaStyleName","Standard")
Cursor.setPropertyValue("ParaTopMargin",0)
Cursor.setPropertyValue("ParaBottomMargin",0)
Cursor.setPropertyValue("CharHeight",dimensioni)
Cursor.setPropertyValue("HyperLinkURL","")
Cursor.setPropertyValue("CharFontName","Arial")
Cursor.setPropertyValue("CharUnderline",0)
if bold=1 then
Cursor.CharWeight=com.sun.star.awt.FontWeight.BOLD
else
Cursor.CharWeight=com.sun.star.awt.FontWeight.NORMAL
end if
objText.insertString(Cursor,testo, 0)
End Sub
il documento destinazione lo puoi creare così
Global Doctesto as object
Sub createsto
Dim Dummy()
Url = "private:factory/swriter"
Doctesto = StarDesktop.loadComponentFromURL(Url, "_blank", 0, Dummy())
end sub
Ovviamente se Doctesto è il documento destinazione nell'altra macro devi
usare un altro nome per l'oggetto documento.
Vabbuò vedi tu.
Ciao Ezio
Dim ugo penso che si possa omettere ...
Intrigante!
Voglio vedere se si riesce a combinare qualcosa usando gli stili.
Un paio di informazioni:
il paragrafo finisce alla fine di ogni riga, di ogni terzina o di ogni
canto?
Eventualmente come si puo' sapere dove finisce il canto?
> il paragrafo finisce alla fine di ogni riga, di ogni terzina o di ogni
> canto?
[...]
beh, in teoria ogni verso dovrebbe rappresentare un paragrafo se intendo
bene quel che vuoi dire
> Eventualmente come si puo' sapere dove finisce il canto?
[...]
se il Pucci, (ora controllo) usa come modello la terzina dantesca, allora
quando ci si imbatte in una serie di quattro versi in rima alternata
ABAB
è segno che in quel punto il capitolo è terminato. puoi prendere Dante per
controllare, leggendo a ritroso gli ultimi quattro versi di ogni canto
Quindi ogni riga e' un parametro.
E il canto e' in terzine.
Pertanto si possono fare tre stili per il testo.
Lo stile riga1, lo stile riga2, lo stile riga3.
Tali che lo stile del paragrafo che segue riga1 e' riga2,
lo stile che segue il paragrafo riga2 e' riga3,
lo stile che segue il paragrafo riga3 e' riga1.
Font e dimensione sono gli stessi per tutti gli stili.
Quello che cambia e' che riga1 inizia piu' indentata rispetto agli
altri, e che eventualmente riga3 avra' una interlinea maggiore se vuoi
evidenziare le terzine.
Devo capire se si riesce ad anteporre un numero progressivo, magari un
campo incrementale.
>
>> Eventualmente come si puo' sapere dove finisce il canto?
> [...]
> se il Pucci, (ora controllo) usa come modello la terzina dantesca, allora
> quando ci si imbatte in una serie di quattro versi in rima alternata
>
> ABAB
>
> è segno che in quel punto il capitolo è terminato. puoi prendere Dante per
> controllare, leggendo a ritroso gli ultimi quattro versi di ogni canto
Gu'! Questo non mi e' utile dal punto di vista degli stili.
Tocchera' inserire a mano una riga vuota alla fine di ogni canto e
assegnarle uno stile finecanto, tale che il paragrafo seguente sia riga1
e adesso vado a vedere se si riesce ad azzerare il contatore.
Faccio un paio di prove e ti dico.
Allora, usando tre stili concatenati, riga1, riga2, riga3 sono riuscito
a scrivere dei versi in modo che la prima riga di ogni terzina venga
indentata.
Nella terza riga riesco a far apparire un numero progressivo, ma non
riesco ad incrementarlo di tre.
Ho visto che e' possibile definire dei campi utente, associarli a delle
variabili, ma e' una cosa che non ho mai fatto.
Un altro tentativo potrebbe essere quello di considerare come paragrafo
l'intera terzina. In tal caso alla fine di ogni verso bisogna andare a
capo con SHIFT+INVIO, cosi' il Writer manda a capo ma senza spezzare il
paragrafo.
L'indentazione della prima riga si mantiene.
La numerazione pero' in questo caso, se deve apparire ogni terza riga e'
ancora piu' difficile, perche' sarebbe nel bel mezzo di un paragrafo.
Ma questo testo, lo devi scrivere o ce l'hai gia' scritto e lo devi solo
formattare?
Perche' applicare degli stili ad un testo gia' pronto non ho proprio
idea di come si possa fare se non selezionare e assegnare lo stile, a
manina, riga per riga!
> Ma questo testo, lo devi scrivere o ce l'hai gia' scritto e lo devi solo
> formattare?
[...]
ce lo avrei. è stato ricavato tramite ocr dalla editio princeps a stampa,
devo solo correggerlo dove l'ocr ha fallito il riconoscimento
> Perche' applicare degli stili ad un testo gia' pronto non ho proprio
> idea di come si possa fare se non selezionare e assegnare lo stile, a
> manina, riga per riga!
[...]
proprio questo è il problema, cercavo un modo per farlo con writer perché
usare scribus vorrebbe dire raddoppiare come minimo i tempi di
realizzazione. l'editore sa bene che è una cosa complessa e si è rivolto a
me avendo visto altri lavori per i quali però, mi era stato dato molto più
tempo.
> devo rassegnarmi a usare laTeX?
Oddio, rassegnarti... LaTeX č fatto apposta per questo genere di scopi,
IMHO č insuperabile. Anche la resa grafica č indiscutibilmente
superiore. Cioč, prova magari a scrivere una terzina con uno e con
l'altro e vedi un po' tu che differenze ci sono. Almeno sulla notazione
scientifica, le formule ed i simboli scritti con LaTex sono una spanna
sopra gli altri programmi. Inoltre suppongo sia anche piů rapido gestire
tutto "a mano", specie se il testo da scrivere č corposo.
--
ngoolo-frek't-tchasantah!
Mi pare essere uno di quei lavori che si risolverebbero facilmente ed in
fretta con un lavoro distribuito in una comunita' di utenti, una decina
di terzine per ciascuno, in due giorni hai finito tutto e devi solo
incollare i pezzi e revisionare.
Comunque posso suggerirti una automazione di questo tipo:
Prima imposti il writer con gli stili in modo che tu riesca ad ottenere
il risultato voluto digitando il testo.
Poi fai una macro che apre il file ascii col tuo testo, legge i
caratteri uno alla volta e li scrive sul writer.
Cosi' ottieni senza fatica il testo impaginato.
Poi per correggere a mano i danni dell'OCR e sistemare correttamente
virgolette, apostrofi e accenti, dovrai farlo a manina.
La domanda pero e' la seguente: quei numeretti per contare le terzine,
devono far parte del paragrafo oppure no?
Perche' io credo che non debbano farne parte.
Nel senso che quando vai a selezionare il testo o farci una ricerca, non
devono essere considerati.
Un po' come i numeri degli elenchi puntati, per intenderci.
> Cosi' ottieni senza fatica il testo impaginato
[...]
c'è solo il problema che non riesco a ar ripartire la numerazione tra un
capitolo (nel senso di componimento in endecasillabi) e l'altro. ad
esempio, dovrebbe essere:
I
1
2
3
ecc...
II
1
2
3
ecc...
invece mi viene:
I
1
2
3
ecc...
II
4
5
6
ecc...
In tal caso si puo' definire uno stile riga0 da utilizzare all'inizio di
ogni nuovo canto.
Nello stile riga0 oltre a ricominciare la numerazione puoi definire una
interlinea precedente piu' ampia e altre cosette.
Naturalmente lo stile seguente sara' riga2 e poi tutto ricomincia.
>
> invece mi viene:
>
> I
>
> 1
> 2
> 3
> ecc...
>
> II
> 4
> 5
> 6
> ecc...
Mi pare che ci sia il modo per resettare il puntatore degli elenchi puntati.
Devo fare altre prove...
> Mi pare che ci sia il modo per resettare il puntatore degli elenchi
> puntati.
[...]
qui però parliamo di numerazione linee non di elenchi puntati/numerati che
non farebbero al caso, comunque, l'ocr ha lavorato abbastanza bene
conservando l'indentazione (devo solo verificare il testo sull'originale)
resta solo il problema di far ripartire la numerazione ad ogni *canto* per
così dire. ci sarei anche riuscito, però curiosamente, mi funziona solo
una volta. devo aver saltato qualche passaggio importante ora ricontrollo
> ci sarei anche riuscito, però curiosamente, mi funziona solo una volta.
> devo aver saltato qualche passaggio importante ora ricontrollo
[...]
era soltanto una piccola disattenzione nell'applicare al punto giusto lo
stile zero. dunque OpenOffice avrà l'onore di essere il programma con cui
questa edizione verrà realizzata (non essendo complicata come altri lavori
dì'impaginazione, fa comodo usare le funzioni automatiche di writer). cosa
fa invece word per la cultura?