Есть ли способ для элегантных списков исходного кода в OpenOffice.org Writer?


9

Я пытался вставить исходный код в виде списков в OpenOffice.org Writer, но он просто не работает приемлемым образом.

Если для строки недостаточно места, она автоматически разбивает эту строку на следующую. Конечно, читатель документации не знает, что произошло, и запутывается. В некоторых книгах в этом случае есть значок стрелки, который показывает, что это относится к верхней строке. Однако я не мог найти ничего, чтобы сделать это. Хотя я мог бы сделать это вручную, это не вариант в документации на 500 страниц.

Есть какие-то решения или способы, как решить эту проблему? Может быть, с макросом, который работает с конкретным стилем абзаца, то есть с «стилем абзаца листинга исходного кода»?

Я нашел расширение: Coooder , но это не соответствует проблеме. Кажется, что он делает только подсветку синтаксиса, что не очень важно в этом случае. Длинные очереди и сделать видимый разрыв строки - это проблема.


Может быть, вы найдете помощь на форумах пользователей OOo о том, как применить определенное форматирование к тексту в Writer? URL-адрес oooforum.org/forum/viewforum.phtml?f=2
0xA3

Ответы:


4

Вот способ сделать это визуально. Он показывает «выемку» на линиях, которые являются продолжением. Я не знаю, как сделать продолжение персонажа.

список кодов

В OpenOffice.org Писатель:

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

Спасибо! Я попытался выяснить, есть ли другой способ сделать это без большого количества границ. Затем я вспомнил старый добрый html + css и подумал о фоновом изображении, которое будет начинаться с верхнего правого угла, а размер текста точно оптимизирован под размер текста. Поэтому я сделал фоновое изображение, где первая строка пуста, но следующие десять строк показывают эту желаемую стрелку переноса строки. Хитрость в том, что я назначил это фоновое изображение стилю абзаца с листингом кода с позицией вверху справа. Затем, когда я добавляю код в свою книгу, я просто должен убедиться, что каждая строка кода представляет собой ровно один абзац с этим стилем. Так что, если это всего одна строка, фоновое изображение не появится. Если это больше, чем одна строка, она будет повторяться и выглядеть именно так, как я хотел. Хотя иногда там слишком много стрелок, и изображение выглядит немного нечетким, так как я много раз изменял размер изображения, чтобы соответствовать размеру текста. Но это работает. Еще я хотел добавить белую рамку в стиле абзаца, чтобы я мог сделать интервал справа.


1

Другим способом может быть что-то вроде этого:

альтернативный текст

Использование стиля абзаца - Bordersи определение правой границы без «Объединить со следующим абзацем» и / или нижней правой тени с серым цветом 10% или аналогичным (на изображении серый 30% используется). Меньшая тень будет менее навязчивой.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.