Je cherche un éditeur pour imprimer (sur papier) du code C ++. Je suis actuellement en école d'ingénieur et l'instructeur nous a demandé de soumettre le code sur papier.
Il veut le nom + le nom de famille, le numéro de classe (sur l'en-tête), le numéro de page en bas et les mots réservés en gras pour chaque page!
Sous Windows, cela peut être fait avec notepadd++
. Mais je suis sous Linux et je n’ai pas trouvé d’EDI ou d’éditeur de texte qui fonctionne. (Je l' ai déjà essayé SCITE
, gedit
et Syntaxic
)
Réponses:
Eh bien, si vous voulez faire un effort supplémentaire, faites-le dans LaTeX et fournissez un fichier PDF de niveau professionnel. Vous n'avez pas mentionné votre distribution, je vais donc donner des instructions pour les systèmes basés sur Debian. La même idée de base peut être faite sur n’importe quel Linux.
Installer un système LaTeX et les packages nécessaires
Créez un nouveau fichier (appelez-le
report.tex
) avec le contenu suivant:Assurez-vous simplement de modifier
/path/to/your/code.c
l'avant-dernière ligne afin qu'elle pointe vers le chemin d'accès réel de votre fichier C. Si vous avez plusieurs fichiers à inclure, ajoutez un\newpage
, puis un nouveau\lstinputlisting
pour l'autre fichier.Compiler un PDF (cela crée
report.pdf
)J'ai testé cela sur mon système avec un exemple de fichier trouvé ici et il crée un PDF qui ressemble à ceci:
Pour un exemple plus complet qui trouvera automatiquement tous les fichiers .c dans le dossier cible et créera un fichier PDF indexé avec chacun dans une section distincte, voir ma réponse ici .
la source
J'utilise habituellement enscript: quelque chose comme
sera un début - cela écrit la sortie postscript à
output.ps
, ainsi vous pouvez prévisualiser et écraser cela pendant que vous bricolez avec la configuration, puis l’imprimer une fois que vous êtes satisfait. Voir la page de manuel pour des options plus complètes.Editer obtenir que le pied de page fonctionne correctement est un peu pénible avec enscript - je ne l’avais jamais remarqué car je ne l’avais jamais demandé. Si vous enregistrez ce fichier dans
~/.enscript/so.hdr
(vous aurez probablement besoin de créer le répertoire), vous obtiendrez la sortie requise avecdonnant
Grossièrement,
:hardcopy
commande de Vim est facile mais pas si flexible, etla source
emscript
. Il a beaucoup d'options et donne de très bons résultats.Vous pouvez utiliser le
:TOhtml
commande dans vim. Cela rend ce que vous voyez (la syntaxe en surbrillance) en HTML. À partir de là, un navigateur Web capable d'imprimer au format PDF fonctionne, car vous pouvez généralement personnaliser le contenu de l'en-tête / du pied de page.Ceci est probablement similaire à la
:hardcopy
commande mentionnée par Useless, mais je ne peux pas vérifier sur mon système pour le moment.Une autre possibilité consiste à imprimer à partir de QtCreator, mais il ne semble pas y avoir de moyen de définir les en-têtes / pieds de page.
la source
Geany est un IDE simple qui vous offre de nombreuses options pour ce qui se trouve dans l'en-tête.
Les mots réservés peuvent être manipulés dans le menu des options mais la mise en surbrillance du code le fait pour le style Notepad ++. (vous devrez peut-être copier / télécharger les jeux de couleurs dans votre dossier "/home/$USER_NAME/.config/geany/colorschemes/" pour obtenir celui de votre choix)
Très simple et personnellement, j'aime beaucoup les numéros de ligne et le format imprimé.
Geany fonctionne aussi bien sous Windows que sous Linux.
la source
Depuis que vous demandez un éditeur , vous pouvez imprimer directement depuis Emacs, en utilisant
ps-print-buffer
.Les en-têtes et les pieds de page sont dans le groupe Personnaliser appelé
ps-print-headers
.En supposant que vous utilisez font-lock, vous avez probablement la coloration syntaxique requise. Il peut être ajusté, si nécessaire, à l'aide de la
ps-extend-face
fonction.Cela dit, je vous recommanderais quand même d'utiliser un outil approprié, tel que a2ps, enscript ou LaTeX +.
la source
Pour être complet, et même si je ne recommanderais pas cette solution, le
lp
programme a une-o prettyprint
option permettant de mettre en évidence la syntaxe.Vous pouvez l'utiliser comme ceci par exemple:
Ici, j'ai utilisé l'
-t
option (title) pour définir l'en-tête. Je ne peux cependant pas changer le pied de page (mais le numéro de page apparaît en haut). Vous pouvez définir le type de fichier avec l'option-o document-format
(la liste des valeurs acceptables devrait figurer dans/usr/share/cups/mime/mime.types
ou peut-être/etc/cups/mime/mime.types
), mais si votre fichier a l'extension correcte, cela ne devrait pas être nécessaire. En outre, la coloration syntaxique est loin d'être parfaite.la source
Vous avez juste besoin de LibreOffice Writer .
Collez votre code C / C ++.
Recherchez les mots et mettez en gras tous les mots clés C ++.
Vous pouvez les trouver ici: http://en.cppreference.com/w/cpp/keyword
Pour rechercher un mot, appuyez sur Ctrl + F. Sélectionnez "Correspondance" et cliquez sur Tout rechercher (comme indiqué dans la capture d'écran).
Après cela, vous avez besoin d’un en-tête et d’un pied de page avec votre nom et votre numéro de page.
EDIT: ( Christophe Strobbe commenté
Il existe une extension LibreOffice pour la coloration du code: Code Colorizer Formatter . (Je ne l'ai pas encore testé.)
la source
J'avais l'habitude d'utiliser Nedit lorsque j'étais sur un système Solaris il y a de nombreuses années, car j'aimais une interface graphique. Je vois qu'il est toujours là. Vérifiez-le.
la source
Dans le passé, lorsque KDE3 était encore très répandu, j'utilisais Kate car elle était un éditeur de texte qui produisait le meilleur résultat. Aujourd'hui, j'utiliserais le latex pour une solution plus intégrable, avec le paquet lstlisting. Ce package n’est pas destiné à la sortie couleur, mais sur une imprimante laser, les couleurs ne sont pas un avantage.
la source