C'è un modo per eleganti elenchi di codice sorgente in OpenOffice.org Writer?


9

Ho provato a inserire il codice sorgente come elenchi in OpenOffice.org Writer, ma non funziona in modo accettabile.

Se lo spazio non è sufficiente per una linea, questa si interrompe automaticamente in quella successiva. Naturalmente il lettore della documentazione non sa cosa è successo e si confonde. Alcuni libri inseriscono un'icona a forma di freccia in questo caso, a dimostrazione che appartiene alla linea superiore. Tuttavia, non sono riuscito a trovare nulla per farlo. Anche se potrei farlo manualmente, questa non è un'opzione in una documentazione di 500 pagine.

Esistono soluzioni o modi per risolvere il problema? Forse con una macro che funziona su un particolare stile di paragrafo, ovvero lo "Stile di paragrafo degli elenchi di codici sorgente"?

Ho trovato un'estensione: Coooder , ma questo non corrisponde al problema. Sembra che evidenzi solo la sintassi, il che non è molto importante in questo caso. Il problema è rappresentato da lunghe file e rendere visibile l'interruzione forzata.


Forse troverai aiuto nei forum degli utenti di OOo su come applicare una certa formattazione al testo in Writer? L'URL è oooforum.org/forum/viewforum.phtml?f=2
0xA3

Risposte:


4

Ecco un modo per farlo visivamente. Mostra una "tacca" sulle linee che sono continuazioni. Non conosco un modo per fare un personaggio di continuazione.

elenco di codici

In OpenOffice.org Writer:

Select the text of the listing

Table > Convert > Text to table

Separate text at > Paragraph

Table > Select table (keep the whole table selected for all the following steps)

Table > Table properties
    Text flow tab
        Allow row to break across pages and columns > Unchecked
    Borders tab
        Line arrangement > Default > Set no borders
    Background tab
        For > Table
        Background color > Gray 10%

Format paragraph
    Indents & spacing tab
        Indent > Before text > 0.25”
        Indent > First line -0.25”
        Spacing > Below paragraph > 0.1”
    Text flow tab
        Options > Do not split paragraph > Checked
    Background tab
        Background color > Gray 10%

Format > Character
        Background > White

1

Grazie! Ho cercato di capire se esiste un altro modo di farlo senza avere molti confini. Poi mi sono ricordato del buon vecchio html + css e ho pensato a un'immagine di sfondo che sarebbe partita dall'angolo in alto a destra e che la dimensione di chi fosse esattamente ottimizzata per la dimensione del testo. Quindi ho creato un'immagine di sfondo in cui la prima riga è vuota, ma le dieci righe successive mostrano la freccia desiderata per l'interruzione di riga. Il trucco è: ho assegnato quell'immagine di sfondo al mio stile di paragrafo con elenco di codici con la posizione in alto a destra. Quindi, quando aggiungo codice al mio libro, devo solo assicurarmi che ogni riga di codice sia esattamente un paragrafo con quello stile. Quindi, se è solo una riga, l'immagine di sfondo non verrà visualizzata. Se è più di una riga, si ripeterà e sembrerà esattamente come volevo. Anche se a volte c'è una freccia di interruzione di linea troppo lì, e l'immagine sembra un po 'sbiadita da quando l'ho ridimensionata molte volte per adattarsi alle dimensioni del testo. Ma funziona La cosa che ho fatto è stata aggiungere un bordo bianco nello stile di paragrafo, in modo da poter fare una spaziatura sulla destra.


1

Un altro modo potrebbe essere qualcosa del genere:

testo alternativo

Usando lo stile di paragrafo - Borderse definendo il bordo destro senza "Unisci con il paragrafo successivo" e / o l'ombra in basso a destra con il colore grigio 10% o simile (sull'immagine viene usato il grigio 30%). Un'ombra più piccola sarebbe meno intrusiva.


1

@voyager - Mi è piaciuta la tua idea, ma sia la tua che la mia originale sono un po 'pesanti. Qui ho usato un bordo inferiore, invece di un lato e un'ombra. Ho usato il rosso, ma qualsiasi colore avrebbe funzionato.

messa in vendita

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.