Вопрос

У меня есть код, который я пишу внутри дословной среды.Иногда строки слишком длинные, и сгенерированный PDF-файл выглядит некрасиво — текстовая строка выходит за правое поле.Что я могу сделать, чтобы автоматически разбить эти длинные строки?Есть ли что-нибудь лучше, чем дословное окружение?

Спасибо, Люциан

Это было полезно?

Решение

Можете ли вы просто использовать шрифт фиксированной ширины, например. \texttt{}?Если вам нужно что-то более сложное, попробуйте большеглагол, списки, или алгоритмикаx пакеты.

Другие советы

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

Я настоятельно рекомендую использовать для этого пакет списков.Он прекрасно форматирует код и поддерживает большое количество языков (см. стр. 12), и эффективно используется тремя способами:

  1. Встроенные фрагменты включаются с помощью \lstinline!int x = 0;! команда
  2. Типизированные блоки кода внутри lstlisting среду, такую ​​как следующая

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. Импортированные блоки кода, в которых код встроен в документ непосредственно из файла исходного кода, например, с помощью \lstinputlisting{source.py}

С помощью этого пакета можно настроить множество параметров, например, для переноса строк и включения номеров строк. Полную информацию можно найти в пакетная документация, но хорошая базовая настройка представлена ​​в запись в викибуке:

\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=2,                   % the step between two line-numbers. If it's 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
}

Вы можете попробовать красивый пакет для печати, такой как LGrind.В противном случае вам придется вручную разорвать линии.

Вас также может заинтересовать пакет фантазииврб.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top