LINUX.ORG.RU

Вопросы по листингам

 ,


1

2

Пишу работу в latex с листингами программ.
Листинги помещаю в текст из файлов:

\lstinputlisting[language=С++, caption = Здесь описание листинга]{./path/file.cpp}

В конце основного файла main.tex указываю, как должна быть указана в оглавлении ссылка на листинги:

\addcontentsline{toc}{chapter}{Список листингов программ}
и сама страница с листингами, идущая в самом конце работы:
\lstlistoflistings

В результате этих действий получаю пронумерованные листинги с подсветкой кода, ссылку в оглавлении («Список листингов программ») и список листингов в конце работы.

Не получается сделать следующее:

1. В конце работы написано «Listings» вместо «Листинги». Для библиографии, например, всё работает и пишется на русском. Как сделать, чтобы было написано на русском «Список листингов программ»?

2. Установить хедер страницы.

\lhead{Листинги \emph{Листинги}} 
Данная конструкция не работает и не делает ничего. Хедера нет, наверху ничего не написано.

3. При использовании \lstinputlisting хотелось бы указывать не только caption, а рядом с подписью под листингом указывать название файла, из которого взят код, например:

Листинг 1.2. Описание (file.cpp)

4. В подписях под листингами пишется «Listing 1.1», а хотелось бы «Листинг 1.1».

5. Какие посоветуете возможности \lstinputlisting помимо того, что я использую?

Deleted

В документации к пакету, если я правильно помню, была информация в какой переменной хранится название для списка. Его нужно задать руками. В отличии от библиографии этот пакет не локализован.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Спасибо. Получилось настроить всё (пункт 3 пишу руками).

Ещё один момент: в листингах содержится текст программ (как правило, файлы целиком).

Но помимо листингов есть еще и примеры того, что программа выводит в консоль при выполнении (как правило, это результаты расчетов, цифры, порядка 5-25 строк). Эти выводы я оформляю просто с помощью \begin{verbatim}. Эти примеры вывода никак не нумеруются, не подписываются и не входят в список листингов. Просто перед ними пишется, что этот вывод программы из предшествующего листинга.

Вопрос: как правильно оформлять вывод программы (с т.з. не столько каких-то местных стандартов, а вообще с т.з. мировых best practices)? Это тоже должны быть пронумерованные листинги или не обязательно, или verbatim или ещё что-то?

Deleted
()
Ответ на: комментарий от Deleted

verbatim вполне подходит. Но можно и тем же listings. Там есть «язык» Clean.

Про оформление кода можешь посмотреть здесь: http://www.ctan.org/tex-archive/info/russian/Computer_Typesetting_Using_LaTeX со страницы 207

Стандарты оформления кода отсутствуют. В лучшем случае какие-то стандарты есть в пределах какой-нибудь книги.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)

1. В конце работы написано «Listings» вместо «Листинги». Для библиографии, например, всё работает и пишется на русском. Как сделать, чтобы было написано на русском «Список листингов программ»?

В преамбулу:

\makeatletter
\lst@UserCommand\lstlistlistingname{Список листингов программ:}
\makeatother

2. Установить хедер страницы.

До! \lstinputlisting

\pagestyle{fancy}
\lhead{\emph{Листинги}}

3. При использовании \lstinputlisting хотелось бы указывать не только caption, а рядом с подписью под листингом указывать название файла, из которого взят код, например:

\lstinputlisting[language=С++, caption=Описание листинга\ (\lstname)]{./path/file.cpp}

4. В подписях под листингами пишется «Listing 1.1», а хотелось бы «Листинг 1.1».

В преамбулу, можно объединить с предыдущим, чтобы не писать два раза makeat:

lst@UserCommand\lstlistingname{Листинг}

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, анонимус, всё заработало.

\ (\lstname)

То, что надо было.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.