Existe uma maneira de listagens elegantes de código-fonte no OpenOffice.org Writer?


9

Tentei inserir o código fonte como listagens no OpenOffice.org Writer, mas simplesmente não funciona de maneira aceitável.

Se o espaço não for suficiente para uma linha, ele quebrará essa linha automaticamente na próxima. É claro que o leitor da documentação não sabe o que aconteceu e fica confuso. Alguns livros inserem um ícone de seta nesse caso, que mostra que isso pertence à linha superior. No entanto, não consegui encontrar nada para fazer isso. Embora eu pudesse fazer isso manualmente, isso não é uma opção em uma documentação de 500 páginas.

Existem soluções ou maneiras de corrigir esse problema? Talvez com uma macro que funcione em um estilo de parágrafo específico, ou seja, o "Estilo de Parágrafo de Listagens de Código Fonte"?

Encontrei uma Extensão: Coooder , mas isso não corresponde ao problema. Parece que apenas realça a sintaxe, o que não é realmente importante neste caso. Linhas longas e tornar visível a quebra de linha forçada é o problema.


Talvez você encontre ajuda nos fóruns de usuários do OOo sobre como aplicar uma certa formatação ao texto no Writer? A URL é oooforum.org/forum/viewforum.phtml?f=2
0xA3 17/04/2009

Respostas:


4

Aqui está uma maneira de fazer isso visualmente. Ele mostra um "entalhe" nas linhas que são continuações. Não sei como fazer um personagem de continuação.

lista de códigos

No 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

Obrigado! Tentei descobrir se há outra maneira de fazer isso sem ter muitas fronteiras. Lembrei-me do bom e velho html + css e pensei em uma imagem de plano de fundo que começaria do canto superior direito e cujo tamanho seja exatamente otimizado para o tamanho do texto. Então, criei uma imagem de plano de fundo onde a primeira linha está vazia, mas as próximas dez linhas mostram a seta de quebra de linha desejada. O truque é: atribuai essa imagem de plano de fundo ao meu estilo de parágrafo de listagem de código com a posição superior direita. Então, quando adiciono código ao meu livro, só preciso garantir que cada linha de código seja exatamente um parágrafo com esse estilo. Portanto, se for apenas uma linha, a imagem de fundo não aparecerá. Se houver mais de uma linha, ela se repetirá e ficará exatamente do jeito que eu queria. Embora às vezes haja uma seta de quebra de linha em excesso, e a imagem parece um pouco desbotada, pois eu redimensionei a imagem várias vezes para corresponder ao tamanho do texto. Mas funciona. A única coisa que fiz foi adicionar uma borda branca no estilo do parágrafo, para que eu pudesse fazer um espaçamento à direita.


1

Outra maneira poderia ser algo como isto:

texto alternativo

Usando o estilo de parágrafo - Borderse definindo a borda direita sem "Mesclar com o próximo parágrafo" e / ou sombra no canto inferior direito com 10% de cor cinza ou similar (na imagem 30% de cinza é usado). Uma sombra menor seria menos intrusiva.


1

@ voyager - Gostei da sua ideia, mas tanto a sua quanto a original são um pouco pesadas. Aqui eu usei uma borda inferior, em vez de uma lateral e uma sombra. Usei vermelho, mas qualquer cor funcionaria.

listagem

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.