Rendez-vous sur Arrakis, Le site perso d'un hacker libriste curieux crêpophile étourdi
Le 18/05/2019 à 06:43 dans /Journal/2016/

Du code, du LaTeX, un dessin, une citation

Petit article avec du bazar dedans, parce que l'entropie, c'est la vie.

Tout d'abord, une petite info sur une section "Snippets" où je vais garder des bouts de code, des fonctions et autres trucs que j'utilise régulièrement dans mes programmes. Et puisque j'aime garder les choses simples, c'est juste du code jeté comme ça sans gestionnaire. Notez aussi celui bien plus fourni de sebsauvage.

Ensuite, un truc tout bête pour écrire du code en LaTeX. Il y a l'environnement verbatim qui donne par exemple :

 \begin{verbatim}
 import sys
 from ivgotzeflux.gui import *
 
 def main():
     config = os.path.expanduser("~/.fluxbox/menu")
 
     if not os.path.isfile(config):
         print("Error reading config file : doesn't exist")
         sys.exit(1)
 
     # On sauvegarde le fichier précédent, ce commentaire donne une bonne excuse pour être très long
     backup_menu()
     app = FluxConf(config)
 
     return 0
 
 if __name__ == '__main__':
         main()
 
 \end{verbatim}
  

Mais il y a mieux : le package listings. Ce dernier est suffisamment intelligent pour couper les lignes trop longues, et même ajouter un "\" pour indiquer le passage à la ligne. Ça donne quelque chose de nettement plus joli :

\usepackage{listingsutf8}
 \lstset{backgroundcolor=\color{gray!10}}
 \lstset{basicstyle=\small\ttfamily}
 \lstset{framesep=3pt}
 \lstset{extendedchars=\true}
 \lstset{breaklines=true}
 %\lstset{breakatwhitespace=true}
 \lstset{numbers=left, numberstyle=\tiny}
 \lstset{prebreak={\textbackslash}}
 \lstset{frame=leftline}
 
 %%%
 
 \begin{document}
 
 \begin{lstlisting}
 import sys
 from ivgotzeflux.gui import *
 
 def main():
     config = os.path.expanduser("~/.fluxbox/menu")
 
     if not os.path.isfile(config):
         print("Error reading config file : doesn't exist")
         sys.exit(1)
 
     # On sauvegarde le fichier precedent, ce commentaire donne une bonne excuse pour être tres long
     backup_menu()
     app = FluxConf(config)
 
     return 0
 
 if __name__ == '__main__':
         main()
 
 \end{lstlisting}
 

Enfin, un petit dessin de Péhä qui a refait son site, à côté duquel j'étais passé :

i

Pour finir, je souhaite citer ce cher Théo de Raadt (le fil peut être retrouvé ici):

there is no philosophy.

there was no belief.

maybe there was a touch of idealism, but nothing as refined as you suggest.

it was simply a decision made for a handful of things which got reused for the rest of them.

back decades ago.

your philosphy is that you can copy things from a dictionary and that we should live according to that as a rule?

you weren't there. were you even born? perhaps your philosophy is that you can speak authoritatively upon things you didn't experience directly?

oh wait, that's religion....