Pergunta

Eu tenho alguns escrevem código que dentro do ambiente verbatim. Às vezes, as linhas são muito tempo e o pdf gerado olha feio - a linha de texto passa sobre a margem direita. O que posso fazer para quebrar automaticamente estas linhas longas? Existe alguma coisa melhor do que o verbatim env?

Obrigado, Lucian

Foi útil?

Solução

Você pode apenas usar uma largura fixa da fonte, por exemplo, \texttt{}? Se você precisar de algo mais sofisticado, experimente o moreverb , listagens , ou algorithmicx pacotes.

Outras dicas

É claro, você tem o pacote maravilhosas "listas" para isso. Ele suporta (se você quiser), mesmo muito a impressão de uma grande quantidade de linguagens de código fonte, bem como um "quebra inteligente" de longas filas, dependendo do idioma que está sendo exibido.

Eu aconselho fortemente fazendo uso do pacote de listas para isso. Ele irá formatar código bem, e suporta um grande número de línguas (Veja PG12 ), e é efetivamente usado de três maneiras:

    trechos
  1. Inline estão incluídos usando o comando \lstinline!int x = 0;!
  2. blocos de códigos digitados, dentro do ambiente lstlisting, tais como o seguinte

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. blocos de código importados onde o código está incorporado em um documento diretamente de um arquivo de código-fonte, utilizando, por exemplo, \lstinputlisting{source.py}

Existem muitas, muitas opções que podem ser configuradas com este pacote, por exemplo, linhas de envoltório e incluem números de linha, e todos os detalhes podem ser encontrados no documentação do pacote , mas uma boa configuração básica é fornecida no wikilivro entrada :

\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
}

Você poderia tentar um pacote bem-impressão como lgrind. Caso contrário, você terá que manualmente quebrar as linhas.

Você pode também estar interessado no fancyvrb pacote .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top