Как должен выглядеть листинг исходного кода латекса, чтобы получить результат, как в известных книгах, например, для Spring Framework? Я пробовал с пакетом латексных списков, но не смог произвести что-то, что выглядело бы так же хорошо, как показано ниже Поэтому я в первую очередь заинтересован в инструкциях по форматированию для создания чего-то вроде примера ниже (из примера главы Мэннинга для Spring in Action ):
РЕДАКТИРОВАТЬ С помощью особенно Tormod Fjeldskår вот полный фрагмент, чтобы получить желаемый вид:
\usepackage{listings}
\usepackage{courier}
\lstset{
basicstyle=\footnotesize\ttfamily, % Default font
% numbers=left, % Location of line numbers
numberstyle=\tiny, % Style of line numbers
% stepnumber=2, % Margin between line numbers
numbersep=5pt, % Margin between line numbers and text
tabsize=2, % Size of tabs
extendedchars=true,
breaklines=true, % Lines will be wrapped
keywordstyle=\color{red},
frame=b,
% keywordstyle=[1]\textbf,
% keywordstyle=[2]\textbf,
% keywordstyle=[3]\textbf,
% keywordstyle=[4]\textbf, \sqrt{\sqrt{}}
stringstyle=\color{white}\ttfamily, % Color of strings
showspaces=false,
showtabs=false,
xleftmargin=17pt,
framexleftmargin=17pt,
framexrightmargin=5pt,
framexbottommargin=4pt,
% backgroundcolor=\color{lightgray},
showstringspaces=false
}
\lstloadlanguages{ % Check documentation for further languages ...
% [Visual]Basic,
% Pascal,
% C,
% C++,
% XML,
% HTML,
Java
}
% \DeclareCaptionFont{blue}{\color{blue}}
% \captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}}
\usepackage{caption}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{\parbox{\textwidth}{\hspace{15pt}#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}}
Используйте это с этим в вашем документе:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
Ответы:
Мне кажется, что вы действительно хотите, чтобы настроить внешний вид подписи. Это проще всего сделать с помощью
caption
пакета. Инструкции по использованию этого пакета см. В руководстве (PDF) . Возможно, вам потребуется создать собственный формат подписи, как описано в главе 4 руководства.Изменить: протестировано с MikTex:
Результат:
источник
Я счастлив с
listings
пакетом:Вот как я это настраиваю:
Я использую это так:
источник
И, пожалуйста, что бы вы ни делали, настройте пакет листингов на использование шрифта фиксированной ширины (как в вашем примере; вы найдете этот вариант в документации). В настройках по умолчанию используется пропорциональный набор шрифтов на сетке, что, IMHO, невероятно некрасиво и нечитабельно, как видно из других ответов с картинками. Лично меня очень раздражает, когда я должен прочитать какой-то набор кода пропорциональным шрифтом.
Попробуйте установить шрифт фиксированной ширины с этим:
источник
Интересно, почему никто не упомянул чеканившийся пакет. У него гораздо лучшая подсветка синтаксиса, чем в листинге LaTeX. Он использует Pygments .
Пример в LaTeX:
Что приводит к:
Вам необходимо использовать флаг
-shell-escape
с командой pdflatex.Для получения дополнительной информации: https://www.sharelatex.com/learn/Code_Highlighting_with_minted
источник
listings
).Попробуйте
listings
пакет. Вот пример того, что я использовал некоторое время назад, чтобы иметь цветной листинг Java:Вы можете настроить это. Есть несколько ссылок на пакет объявлений. Просто погуглите их.
источник
Посмотрите на
algorithms
упаковку, особенно наalgorithm
окружающую среду.источник
algorithm
окружающей среде, а неalgorithmic
.algorithm
это плавающий контейнер, который выглядит довольно красиво. Вы можете положить вlisting
нее все, что захотите, даже упомянутые выше.Вы можете сделать несколько других вещей, например, выбрать новые шрифты:
источник
Для кода R я использую
И это выглядит именно так
источник