Сделайте код в LaTeX *красивым* [закрыто]
Вопрос
В настоящее время я пишу отчет о проекте, и чтобы объяснить немного сумасшедший и неинтуитивный код, который я использовал, мне нужно вставить много-много коротких отрывков примера кода.
Как я могу получить код в LaTeX, который:
- выглядит хорошо
- не выходит за пределы страницы, если строка слишком длинная (список в списке или дословно)
- предпочтительно встроен в остальной текст
ОТРЕДАКТИРОВАНО (полагаю, что я бы добавил настройки, чтобы людям не приходилось пытаться разобраться в них самостоятельно (взято из викибуков (ссылка ниже) и отредактировано для удобства))
Хорошие настройки:
\usepackage{color}
\usepackage{listings}
\lstset{ %
language=C++, % choose the language of the code
basicstyle=\footnotesize, % the size of the fonts that are used for the code
numbers=left, % where to put the line-numbers
numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
numbersep=5pt, % how far the line-numbers are from the code
backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
frame=single, % adds a frame around the code
tabsize=2, % sets default tabsize to 2 spaces
captionpos=b, % sets the caption-position to bottom
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)} % if you want to add a comment within your code
}
\begin{lstlisting}
!!code!!
\end{lstlisting}
Пример таких настроек:
Решение
А списки пакет довольно приятный и очень гибкий (например.разные размеры комментариев и кода).
Другие советы
Оказывается, что lstlisting
умеет красиво форматировать код, но требует множества настроек.
Викикниги есть хороший пример параметров, которые вы можете настроить.
Для простого документа я иногда использую дословное представление, но листинг удобен для больших фрагментов кода.