Вставить программный код в документ Lyx

Как лучше всего вставить код Python / C ++ в документ Lyx? Код - это небольшие примеры менее 20 строк.

В моем документе Lyx используется класс документа Book.

Орджанп


lyx
person Orjanp    schedule 22.01.2010    source источник
comment
Вот связанный ответ для выделения синтаксиса javascript: stackoverflow.com/questions/10420757/   -  person acronym    schedule 29.07.2014


Ответы (3)


Должна быть опция Insert -> Program Listing. Здесь используется пакет латекса listings, поэтому он должен быть установлен . Похоже, что поддержка была добавлена ​​в Lyx 1.5, и из их снимка экрана кажется, что дает вам множество вариантов настройки.

person Alok Singhal    schedule 22.01.2010
comment
Спасибо. Я посмотрю на это. - person Orjanp; 24.01.2010
comment
Я сделал вот что. Сначала я вставил ‹box›, затем ‹список программ› и в конце ‹caption›. Обведя его рамкой, я могу получить видимую рамку вокруг кода. - person Orjanp; 27.01.2010
comment
Есть ли способ подсветки синтаксиса и номеров строк? - person Arun; 17.01.2011
comment
Чтобы добавить заголовок, поместите курсор в список и нажмите Вставить - ›Заголовок. По умолчанию заголовок будет отображаться над списком. Чтобы переместить заголовок вниз, откройте диалоговое окно настроек листинга (Правка - ›Настройки листинга) и перейдите на вкладку« Дополнительно ». Затем добавьте параметр captionpos = b. - person tsauerwein; 28.05.2012
comment
Еще один совет: если вы хотите изменить нумерацию с Листинга 1.1 / 1.2 / ... на Листинг 1/2 / ..., добавьте \ lstset {numberbychapter = false} в преамбулу вашего документа. См. Также Непрерывная v. Нумерация рисунков, таблиц и других элементов документа по главам / разделам. - person tsauerwein; 03.06.2012
comment
@Arun В разделе Edit - ›Listing Settings вы можете выбрать язык программирования (Python, C, ...) - person Kipton Barros; 24.08.2013
comment
Альтернативой предложенному @ Orjanp ‹box› является встроенный параметр frame = lines, который вы можете ввести в разделе «Дополнительные настройки» из пункта меню «Правка -› Настройки списка ». - person Kipton Barros; 24.08.2013

Я предпочитаю вставлять листинги как дочерний документ, поэтому код берется непосредственно из файла, который вы можете редактировать и обновлять (вы избегаете дублирования информации, а обслуживание намного проще). Для этого в Lyx:
Insert-> File-> Child document
Затем в появившемся окне измените тип на список программ и настройте его как вам нужно, например, вы могли бы захотеть ввести параметр language = Python (вы можете ввести ?, чтобы просмотреть все параметры).
Обычно я использую следующие параметры:

breaklines=true //--> breaks lines to margin
captionpos=b  //--> caption at the bottom of the listing (default is "t")
frame=tb  //--> frame at the top and at the bottom of the listing
language=Python  //--> syntax highlighting for python
person Vincenzo Pii    schedule 09.02.2011
comment
есть ли способ получить цветное мелирование? и уменьшить отступ и размер шрифта? - person waspinator; 20.11.2012
comment
@waspinator не знаю, помогает ли это: tex.stackexchange.com/questions/28554/ - person Vincenzo Pii; 20.11.2012
comment
Как я могу центрировать его по центру страницы с помощью Lyx? - person kiltek; 28.05.2013

Функция insert-> Program Listing отлично работает. Я просто хочу добавить, что если вы работаете на Mac и пытаетесь напрямую вставить, используя команду + V или щелкните правой кнопкой мыши + вставить, блок кода в листинг программы, пробелы не будут сохранены, и вам придется вручную вставьте пробел, набрав табуляции, возвраты и т. д.

Очень простой способ обойти это - вставить с помощью shift + command + V. Это сохраняет все пробелы в исходном коде.

person xdavidliu    schedule 12.12.2017
comment
Как я могу центрировать его по центру страницы? А может поменять цвет фона? как серый. - person rld; 17.01.2018