LaTeX code source comme dans les livres professionnels
Comment un latex code source ressemble à produire une sortie comme dans les livres, par exemple un pour le Framework Spring? J'ai essayé avec le latex des listes paquet, mais n'était pas en mesure de produire quelque chose qui était aussi beau que celui ci-dessous. Donc, je suis primarely intéressés dans les instructions de mise en forme pour produire quelque chose comme l'exemple ci-dessous (à partir de Manning exemple de chapitre pour Printemps en Action):
MODIFIER
Avec l'aide notamment de Tormod Fjeldskår ici est extrait pour produire le look désiré:
\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}}
L'utiliser avec ceci dans votre document:
\lstinputlisting[label=samplecode, caption=A sample]{sourceCode/HelloWorld.java}
- Veuillez être plus précis. Pour moi, la liste que j'ai posté: “on dirait que dans les livres professionnels” et “regarde comme gentil” comme celui que vous avez posté.
- Veuillez utiliser l'exemple affiché sous la forme d'une capture d'écran que le résultat que je veux obtenir.
- Par souci d'exhaustivité, vous voudrez peut-être ajouter \usepackage{color} à la tex que vous avez posté. M'a fallu un moment avant que j'ai remarqué qu'il manquait.
- Magnifique travail!!! J'ai dû ajouter \usepackage{caption} et \usepackage{graphics} si et il semble pour convertir entre guillemets simples.
- Salut mork où dois-je placer le fichier source? Dans votre exemple Hello.java
- Quand j'ai essayé de faire cela, ma légende s'affiche en bas du code source, comment puis-je résoudre ce problème?
Vous devez vous connecter pour publier un commentaire.
Il me semble que ce que vous voulez vraiment, est de personnaliser l'apparence des sous-titres. C'est plus facile à faire en utilisant la
caption
paquet. Pour les instructions sur comment utiliser cette trousse, voir le manuel (PDF). Vous aurez probablement besoin de créer votre propre format de la légende, comme décrit dans le chapitre 4 de ce manuel.Edit: Testé avec MikTex:
Résultat:
Je suis heureux avec l'
listings
package:Voici comment je le configurer:
Je l'utilise comme ceci:
Et s'il vous plaît, quoi que vous fassiez, configurer les listes de package pour utiliser la police à largeur fixe (comme dans votre exemple; vous trouverez cette option dans la documentation). Réglage par défaut utilise la police proportionnelle typeset sur une grille, ce qui est, à mon humble avis, incroyablement moche et illisible, comme peut être vu à partir de l'autre des réponses avec photos. Personnellement, je suis très irrité quand je dois lire un code affichés dans une police proportionnelle.
Essayez de régler une police à largeur fixe avec ceci:
Je me demande pourquoi personne n'a mentionné le Frappées paquet. Il a beaucoup mieux de la syntaxe que le LaTeX liste de paquet. Il utilise Pygments.
Exemple en LaTeX:
Qui se traduit par:
Vous avez besoin d'utiliser le drapeau
-shell-escape
avec la commande pdflatex.Pour plus d'informations: https://www.sharelatex.com/learn/Code_Highlighting_with_minted
listings
).Avoir un essai sur la
listings
paquet. Voici un exemple de ce que j'ai utilisé il y a quelques temps pour avoir une couleur Java inscription:Vous pouvez les personnaliser. Il y a plusieurs références de la liste de package. Juste google eux.
Prendre un coup d'oeil à
algorithmes
paquet, en particulier laalgorithm
environnement.algorithm
de l'environnement, pasalgorithmic
.algorithm
est un conteneur flottant, qui a l'air assez sympa. Vous pouvez y mettre ce que vous voulez à l'intérieur, même lalisting
mentionné elsethread.Il y a plusieurs autres choses que vous pouvez faire, comme la sélection de nouvelles polices de caractères:
Pour la R code que j'utilise
Et il ressemble exactement à ce