9

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

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

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

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

4 ответа4

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

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

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

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

1

@voyager - мне понравилась твоя идея, но и твоя, и моя оригинальная немного тяжеловесны. Здесь я использовал нижнюю границу вместо боковой и тени. Я использовал красный, но любой цвет подойдет.

список

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .