Question

J'ai un code que j'écris dans l'environnement verbatim. Parfois, les lignes sont trop longues et le pdf généré est moche - la ligne de texte passe au-dessus de la marge de droite. Que puis-je faire pour briser automatiquement ces longues lignes? Y at-il mieux que le env verbatim?

Merci, Lucian

Était-ce utile?

La solution

Pouvez-vous utiliser une police à largeur fixe, par exemple \texttt{}? Si vous avez besoin quelque chose de plus sophistiqué, essayez moreverb , annonces ou noreferrer algorithmicx paquets.

Autres conseils

Bien sûr, vous avez le paquet merveilleux « listes » pour cela. Il prend en charge (si vous voulez) l'impression même assez d'un grand nombre de langages de code source, ainsi qu'une « rupture intelligente » de longues lignes selon la langue affichée.

Je conseille vivement faire usage de l'ensemble de listes pour cela. Il forme un code bien, et prend en charge un grand nombre de langues (voir PG12 ), et est effectivement utilisé de trois façons:

  1. extraits de ligne sont inclus à l'aide de la commande \lstinline!int x = 0;!
  2. dactylographié blocs de code, dans le lstlisting environnement, telles que les suivantes

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. importé des blocs de code où le code est intégré dans un document directement à partir d'un fichier de code source, en utilisant, par exemple, \lstinputlisting{source.py}

Il y a beaucoup, beaucoup d'options qui peuvent être configurées avec ce paquet, par exemple, les lignes et envelopper comprennent les numéros de ligne et les détails peuvent être trouvés dans la section documentation du paquet , mais une bonne configuration de base est fourni dans la section entrée wikilivre :

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

Vous pouvez essayer un joli paquet d'impression comme lgrind. Sinon, vous devrez manuellement rompre les lignes.

Vous pourriez également être intéressé par le paquet fancyvrb .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top