Из другого вопроса я узнал, что лучший способ включить код — создать дочерний документ с листингом программы, и это здорово.
У меня вопрос: как правильно маркировать листинг программ?
Для главы это так , chap:Name
а для подраздела — sub:Name
так что же это за листинг программы?
Выравнивание — это когда я делаю перекрестную ссылку, мне нужно эквивалентное форматирование, как при ссылке на раздел ... section 2.1 ...
при ссылке. (На самом деле я не пишу «раздел», который автоматически генерируется Lyx, мне нужно то же самое для листинга).
решение1
На самом деле нет «правильного» ответа, так как вам придется определить это самостоятельно. LyX использует пакеты refstyle
для таких форматированных ссылок, и, насколько я могу судить, в нем нет определений для листингов программ.
Так что, я думаю, вам следует добавить такое определение в преамбулу в Документ --> Настройки --> Преамбула LaTeX. Простой пример:
\newref{lst}{
name = listing~,
names = listing~,
Name = Listing~,
Names = Listings~,
rngtxt = {~to~},
lsttxt = { and }}
С этим определением вы должны использовать lst:
в качестве префикса the в метках. Если вы хотите какой-то другой префикс, измените lst
in \newref{lst}
на префикс по вашему выбору.
Однако следует отметить, что если вы не используете ERT, то, по-моему, вам нужен только \newref{lst}{name = listing~}
, поскольку LyX просто не поддерживает другие форматы ссылок, если я не ошибаюсь.
Последнее замечание: как правило, не существует правильного способа написания меток для глав, разделов и т. д. Использование chap
, sec
и eq
т. д. — это просто соглашение, это не то, что вам нужно делать.Пока невы используете refstyle
пакет. На самом деле, для этого нужны правильные строки в качестве префиксов, чтобы выяснить, какой тип объекта упоминается. Пакет cleveref
в этом смысле умнее, так как он сам во всем разбирается.