Insérer du code que l'on peut copier-coller dans le document

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
XANA
Utilisateur confirmé
Utilisateur confirmé
Messages : 36
Inscription : lundi 04 septembre 2017, 17:56

Insérer du code que l'on peut copier-coller dans le document

Message par XANA »

Bonjour,
Il existe plein de manière d'insérer du code dans le document LaTeX (verbatim, lstlisting...), mais le problème que l'on peut rencontrer est que si l'on souhaite récupérer ces lignes pour en faire un copier-coller, les indentations ne sont pas gardées (bon ça à la rigueur ce n'est pas grave, sauf si c'est du Python !), mais il peut aussi y avoir des situation ou le texte collé est totalement différent (par exemple si le document est écrit sur plusieurs colonnes).

Y a t'il un environnement spécial qui permet cela ? Ou même encore mieux une moyen de mettre un bouton "Copier" pour mettre le texte automatiquement dans le presse-papier comme on peut voir sur certains sites internet ?

Merci :)

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2563
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par gigiair »

Personnellement je ne transmettrai jamais du code dans un document LaTeX. Ce n'est pas fait pour ça et il n'y a aucune garantie que les caractères qui sont affichés dans le PDF sont bien ceux qui ont été prévus dans le code informatique.
Depuis longtemps les échanges de code se font par des sites spécialisés du type pastebin. Sur les canaux IRC en particulier.
Un pastebin fournit un lien vers le code que l'on veut transmettre et que l'on peut parfaitement insérer dans un document LaTeX et qui offre toute garantie d'intégrité. Article wikipedia : pastebin.
Ce qui n'empêche pas d'insérer le code que l'on transmet dans un document LaTeX, pour information.
JJR.
LaTeXien migrateur.

jmd
Utilisateur confirmé
Utilisateur confirmé
Messages : 25
Inscription : samedi 06 février 2016, 11:08

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par jmd »

Bonjour,

Oui, il y a l'environnement VERBATIMTAB préserve les tabulations, mais il nécessite le package MOREVERB :

Code : Tout sélectionner

\usepackage{moreverb}
\begin{verbatimtab}[4]
.....
\end{verbatimtab}


PS: on peut évidemment mettre autre chose que [4]...
Je l'utilise extrêmement souvent pour publier du code TeX, Python, Ruby.

XANA
Utilisateur confirmé
Utilisateur confirmé
Messages : 36
Inscription : lundi 04 septembre 2017, 17:56

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par XANA »

MB a écrit : Bonjour, je ne suis pas certain d'avoir compris la question. Mettre un bouton "copier" où ça ?
Mettre le bouton à côté du texte, pour que ça mette automatiquement le code dans le presse-papier (comme par exemple sur ce site avec le bouton "Copy command to clipboard" mais là c'est sur une page web)

jmd a écrit :Oui, il y a l'environnement VERBATIMTAB préserve les tabulations, mais il nécessite le package MOREVERB
Ici ça affiche bien avec les tabulations (avant je les remplaçais par des espaces ^^), mais quand je cherche à copier-coller le code obtenu, ces tabulations disparaissent.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2563
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par gigiair »

Voici un exemple de ce que je propose :

Code : Tout sélectionner

\Documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{comment}

\usepackage{hyperref}
\usepackage{babel}
\begin{document}
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Ceci est un document de document qui inclus du code (bidon))


\begin{verbatim}


,----[ Code bidon ]
| * Aliquam posuere.
| 
|    Phasellus lacus.
| * Mauris ac felis vel velit tristique imperdiet.
| 
|     Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus.
| * Sed diam.
| 
| 
|  * Nunc aliquet, augue nec adipiscing interdum, lacus tellus 
|     malesuada massa, quis varius mi purus non odio.
`----


\end{verbatim}


Vous pouvez récupérer ce code \href{http://ix.io/2khh}{ici}


>
%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\end{document}

% Local Variables:
% TeX-PDF-mode: t
% TeX-PDF-from-DVI: nil
% End:
A l'affichage du pdf, le mot ici est cliquable et renvoie au code compris dans l'environnement verbatim.
Personnellement, j'utilise le pastebin ix.io fourni avec Emacs, mais il en existe d'autres. Voir le wikipedia.
ecm.png
ecm.pdf
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
JJR.
LaTeXien migrateur.

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 864
Inscription : jeudi 25 novembre 2010, 22:10

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par marco56 »

gigiair, je n'ai pas testé mais je me trompe ou ton ICI ne peut pas pointer vers ton document ?

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2563
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par gigiair »

marco56 a écrit :gigiair, je n'ai pas testé mais je me trompe ou ton ICI ne peut pas pointer vers ton document ?
Il ne le fait pas. Quel en serait l'intérêt ? L'adresse est renvoyée par le pastebin, on peut y mettre ce qu'on veut. Dans l'exemple que je fournis, c'est le code et seulement le code (ce qui est censé être du code) qui a été placé sur le passtebin. Le pdf est justement composé pour qu'il ne soit pas facile de le récupérer directement par copier-coller.
Si l'on veut mettre tout le document sur le lien, ça ne présente aucune difficulté supplémentaire, c'est comme on veut.
JJR.
LaTeXien migrateur.

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 864
Inscription : jeudi 25 novembre 2010, 22:10

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par marco56 »

Du coup, il faut héberger le code en externe. Je ne suis pas certain que cela réponde à la question initiale.

gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2563
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Insérer du code que l'on peut copier-coller dans le docu

Message par gigiair »

marco56 a écrit :Du coup, il faut héberger le code en externe. Je ne suis pas certain que cela réponde à la question initiale.
J'en suis bien conscient, mais j'ai précisé pourquoi ça me paraît une fort mauvaise idée. PDF n'est pas fait pour diffuser du code.
L'exemple qu'il donne de pages Web procède exactement comme je le fais en renvoyant le code source à une autre page. Qu'elle soit sur le même serveur ou non, on n'en sait rien et quelle importance ?

edit :
Il existe des extensions qui permettent de créer des annotations au pdf, mais le fonctionnement est dépendant du lecteur pdf. J'ai trouvé ça sur stackexchange et qui fonctionne chez moi tooltips
Il y a également l'extension ocgx, j'ai essayé 'exemple minimal de la documentation, mais j'ai eu une erreur de compilation. Je n'ai pas insisté.
JJR.
LaTeXien migrateur.