web-dev-qa-db-fra.com

Insérer du code de programmation dans un document Lyx

Quelle est la meilleure façon d'insérer du code python/C++ dans un document Lyx? Le code est de petits exemples de moins de 20 lignes.

Mon document Lyx utilise la classe de document Livre.

Orjanp

66
Orjanp

Il devrait y avoir une option Insertion -> Liste des programmes . Cela utilise listes package Latex, vous devriez donc l'avoir installé. Le support semble avoir été ajouté dans Lyx 1.5 , et à partir de leur capture d'écran, il semble qu'il vous donne beaucoup d'options de personnalisation.

60
Alok Singhal

Je préfère insérer les listes en tant que document enfant, de sorte que le code est récupéré directement à partir d'un fichier que vous pouvez continuer à modifier et maintenir à jour (vous évitez de dupliquer une information et la maintenance est beaucoup plus facile). Pour ce faire dans Lyx:
Insérer-> Fichier-> Document enfant
Ensuite, dans la fenêtre qui apparaîtra, changez le type en liste de programme et configurez-le selon vos besoins, par exemple, vous pouvez entrer le paramètre langue = Python (vous pouvez taper a - ? pour voir tous les paramètres).
Un ensemble de paramètres que j'utilise habituellement est:

breaklines=true //--> breaks lines to margin
captionpos=b  //--> caption at the bottom of the listing (default is "t")
frame=tb  //--> frame at the top and at the bottom of the listing
language=Python  //--> syntax highlighting for python
68
Vincenzo Pii

La fonction d'insertion de liste de programmes fonctionne très bien. Je veux juste ajouter que si vous êtes sur Mac et essayez de coller directement, en utilisant la commande + V ou un clic droit + coller, un bloc de code dans la liste des programmes, l'espace ne sera pas conservé et vous devrez manuellement insérer l'espace blanc en tapant des tabulations, des retours, etc.

Un moyen très simple de contourner ce problème consiste à coller en utilisant shift + commande + V. Cela préserve tous les espaces de votre code source d'origine.

4
xdavidliu