Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 2

30 Jui '19, 02:47

denis's gravatar image

denis
7.3k2510

J'ajouterais à la réponse de samcarter que, si j'ai bien compris, votre but ultime est de mettre en forme des commandes et ce qu'elles renvoient de façon semblable à ce que peut afficher un terminal. Pour cela, je recommande le package `tcolorbox` et sa librairie `listingsutf8`. - Pour le prompt récurrent, on peut recourir à l'option `every listing line` pour éviter les saisies multiples. On peut même faire usage du package `accsupp` pour que, en cas de copié-collé de la ligne où la commande apparaît, ce prompt soit exclu de la copie. Les commandes saisies en entrée sont ci-dessous insérées dans l'environnement `shellinput`. - Les commandes ne sont pas colorées manuellement : c'est fait au moyen de la coloration syntaxique que permet le package `listings` (en déclarant si nécessaire de nouveaux mots clés. clés). - Ce qui est renvoyé en sortie est ci-dessous inséré dans l'environnement `shelloutput`. Je n'ai pas le temps de détailler davantage et la mise en forme est surement sûrement améliorable mais je livre la chose telle quelle. \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{tcolorbox} \usepackage[a4paper]{geometry} \usepackage{accsupp} \usepackage{upquote} \usepackage{babel} \tcbuselibrary{listingsutf8,skins,breakable} \colorlet{keyword}{red} \colorlet{keyword2}{teal} \lstset{% keywordstyle=\color{keyword}, keywordstyle=[2]\color{keyword2}, alsoletter={-_},% } \lstdefinelanguage{bash}[]{sh}% { morekeywords={% lsb_release,sudo,apt,update,list% },% morekeywords=[2]{% options a% }% } \tcbset{mylistingstyle/.style={% breakable, blank, listing only, listing options={% style=tcblatex, % language=bash, escapeinside={(*@}{@*)}, upquote=true, showstringspaces=false }, }% }% \newtcblisting{shellinput}[1][]{% mylistingstyle, after skip=0cm, listing options={% style=tcblatex, language=bash, escapeinside={(*@}{@*)}, upquote=true, showstringspaces=false }, every listing line={% \textcolor{blue}{% \ttfamily\bfseries% \BeginAccSupp{method=plain,ActualText={}}% dfqsdf@Dominique-PC: \$ \EndAccSupp{}% }% }, #1 } \newtcblisting{shelloutput}[1][]{% mylistingstyle, before skip=0cm, #1 } \begin{document} \begin{shellinput} lsb_release -a \end{shellinput} \begin{shelloutput} No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic \end{shelloutput} \begin{shellinput} sudo apt update \end{shellinput} \begin{shelloutput} Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] ... Get:24 http://archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [1696 B] Fetched 17.6 MB in 14s (1271 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 66 packages can be upgraded. Run 'apt list --upgradable' to see them. \end{shelloutput} \end{document} <img src="/upfiles/test_kNxoBYB.png" style="width: 100%;"/>
cliquez ici pour masquer/afficher la révision 1

30 Jui '19, 02:46

denis's gravatar image

denis
7.3k2510

J'ajouterais à la réponse de samcarter que, si j'ai bien compris, votre but ultime est de mettre en forme des commandes et ce qu'elles renvoient de façon semblable à ce que peut afficher un terminal. Pour cela, je recommande le package `tcolorbox` et sa librairie `listingsutf8`. - Pour le prompt récurrent, on peut recourir à l'option `every listing line` pour éviter les saisies multiples. On peut même faire usage du package `accsupp` pour que, en cas de copié-collé de la ligne où la commande apparaît, ce prompt soit exclu de la copie. Les commandes saisies en entrée sont ci-dessous insérées dans l'environnement `shellinput`. - Les commandes ne sont pas colorées manuellement : c'est fait au moyen de la coloration syntaxique que permet le package `listings` (en déclarant si nécessaire de nouveaux mots clés. - Ce qui est renvoyé en sortie est ci-dessous inséré dans l'environnement `shelloutput`. Je n'ai pas le temps de détailler davantage et la mise en forme est surement améliorable mais je livre la chose telle quelle. \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{tcolorbox} \usepackage[a4paper]{geometry} \usepackage{accsupp} \usepackage{upquote} \usepackage{babel} \tcbuselibrary{listingsutf8,skins,breakable} \colorlet{keyword}{red} \colorlet{keyword2}{teal} \lstset{% keywordstyle=\color{keyword}, keywordstyle=[2]\color{keyword2}, alsoletter={-_},% } \lstdefinelanguage{bash}[]{sh}% { morekeywords={% lsb_release,sudo,apt,update,list% },% morekeywords=[2]{% options a% }% } \tcbset{mylistingstyle/.style={% breakable, blank, listing only, listing options={% style=tcblatex, % language=bash, escapeinside={(*@}{@*)}, upquote=true, showstringspaces=false }, }% }% \newtcblisting{shellinput}[1][]{% mylistingstyle, after skip=0cm, listing options={% style=tcblatex, language=bash, escapeinside={(*@}{@*)}, upquote=true, showstringspaces=false }, every listing line={% \textcolor{blue}{% \ttfamily\bfseries% \BeginAccSupp{method=plain,ActualText={}}% dfqsdf@Dominique-PC: \$ \EndAccSupp{}% }% }, #1 } \newtcblisting{shelloutput}[1][]{% mylistingstyle, before skip=0cm, #1 } \begin{document} \begin{shellinput} lsb_release -a \end{shellinput} \begin{shelloutput} No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic \end{shelloutput} \begin{shellinput} sudo apt update \end{shellinput} \begin{shelloutput} Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] ... Get:24 http://archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [1696 B] Fetched 17.6 MB in 14s (1271 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 66 packages can be upgraded. Run 'apt list --upgradable' to see them. \end{shelloutput} \end{document} <img src="/upfiles/test_kNxoBYB.png" style="width: 100%;"/>

C'est votre première visite ici ? Consultez la FAQ !

×