В настоящее время я создаю макет книги со встроенным кодом и кодовыми блоками.
Для этих частей кода я хотел бы добавить фоновый цвет. Он должен обрабатывать код, аналогичный тому, как он отображается на StackExchange.
Поскольку в стилях абзаца нет опции, которая добавляла бы фон, я попытался использовать правила абзаца, правила подчеркивания, правила зачеркивания и некоторые другие экспериментальные подходы.
Правила зачеркивания
Правила зачеркивания отображаются над текстом, что делает их совершенно бесполезными для этой цели.
Правила подчеркивания
Правила подчеркивания отображаются под текстом, что позволяет использовать его в качестве фона. Проблема в том, что это зависит от длины символа. Это позволяет использовать его поверх строк с автоматическим разрывом строки.
Проблема в том, что вы не можете добавить к нему поля и не можете вставить фон с фиксированной шириной.
Правила абзаца
Правила абзаца довольно близки к решению. Вы можете определить, хотите ли вы, чтобы строка была выше или ниже вашего текста, вы можете добавить поля, и линия заполнит всю ширину блока. Проблема здесь в том, что это строка абзаца , то есть добавляется правило для всего абзаца, а не для каждой строки. Это не проблема, если каждый абзац состоит только из одной строки, но если абзац состоит из нескольких строк, вы получите пробел на заднем плане. Я мог бы добавить здесь принудительный разрыв строки, но я хотел бы этого избежать.
Решение было бы, если бы я мог добавить принудительный разрыв строки в конце каждой строки через стиль GREP, но я не видел способа добавить символ таким образом.
Я использую стили символов для встроенного кода. Правила подчеркивания кажутся наиболее подходящим способом здесь. Проблема в том, что я собираю поля здесь. Если я добавлю пробел в начале и в конце встроенного кода, я получу хороший результат, но это означает, что мне нужно добавить символы в текст, чего я хотел бы избежать, и это не сработает в начале и конец разрыва строки, потому что inDesign удаляет символ, если он не нужен.
Я ищу способ добавить пробел до и в конце встроенного кода.
Итак, это было бы так. Я ищу решения этой проблемы в течение длительного времени, поэтому любые идеи будут оценены.
Ну и извините за дерьмовое качество изображения. Отсутствующая поддержка дисплея Retina в inDesign сделала это возможным.
Сегодняшнее обновление Adobe CC (2015) принесло решение этой проблемы. Теперь вы можете включить paragraph shading
добавление фона к стилям абзаца.
Я использовал таблицу для своего собственного отчета, и это сработало для меня очень хорошо. Для каждого блока кода, который мне был нужен, я просто копировал/вставлял предыдущую таблицу. Для подсветки синтаксиса я сначала определил стиль символа, но было утомительно применять эти стили для каждого фрагмента кода. Поэтому просто скопировал код из IDE, сохранив цвет и шрифт, в InDesgin. Вот как это выглядит:
Единственная проблема заключается в том, что вы не можете скопировать блок кода, и вам нужно копировать и вставлять строку за строкой, поскольку каждая строка таблицы представляет собой одну строку кода.
Вы можете использовать правило абзаца, чтобы выделить всю меру, или подчеркивание текста, чтобы выделить только текст. Хитрость заключается в том, чтобы получить правильное смещение, а затем установить значение ширины, которое соответствует или превышает ваше начальное значение.
Скотт
Лорен-Клир-Моника-Ипсум
Послесловие
Тим человек