Afficher code et son résultat

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Afficher code et son résultat

Messagepar Cthulhu » Mardi 17 Novembre 2009, 18:03

Bonjour à tous

Dans le cadre d'une présentation, je cherche le moyen de montrer le code, et juste à coté, le résultat de son exécution.
Un truc du genre :
... et voici le résultat de la commande
\LaTeX $\LaTeX$


La solution de facilité qui consiste à copier mon code dans un tableau à deux colonnes, avec un coup de l'environnement verbatim ne faisant pas <<propre>>, je suis preneur de toute idée !

D'avance merci !
Cthulhu
Déca-utilisateur
 
Messages: 11
Inscription: Mardi 13 Octobre 2009, 09:10
Statut actuel: Post-bac | Master

Publicité

Re: Afficher code et son résultat

Messagepar un bon petit » Mardi 17 Novembre 2009, 19:19

Je propose la commande \codexec qui fonctionne comme \verb, à savoir que le délimiteur est au choix de l'utilisateur :

Code: Tout sélectionner
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,margin=2.5cm]{geometry}
\makeatletter
\newcommand\codexec{%
   \bgroup\bgroup\let\do\@makeother
   \do\\\do\{\do\}\do\$\do\&\do\#\do\^\do\_\do\%\do\~%
   \codexec@i}
\newcommand\codexec@i[1]{%
   \long\def\codexec@ii##1#1{%
      \egroup\everyeof{\noexpand}\endlinechar\m@ne
      \par\noindent
      \hbox to \linewidth{\hbox to0.5\linewidth{\hfil\ttfamily##1\kern1em}%
      \hbox to0.5\linewidth{\scantokens{##1}\hfil}}%
      \egroup}%
   \codexec@ii}
\makeatother
\begin{document}
\codexec-\LaTeX, c'est super-
\codexec +\TeX{} et \LaTeX{} se complètent.+

\codexec|$\frac13+\frac12=\frac56$|
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 685
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Afficher code et son résultat

Messagepar rebouxo » Mardi 17 Novembre 2009, 19:24

Je pense qu'une extension doit faire cela, mais je ne sais pas laquelle !
Tu as regardé sur CTAN ?

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6897
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Afficher code et son résultat

Messagepar Cthulhu » Mardi 17 Novembre 2009, 19:45

@rebouxo
CTAN, j'ai tenté une recherche, mais je trouvais des environnements pour afficher du code comme verbatim

@un bon petit
GENIAL !

Il me reste plus qu'a faire rentrer ça dans beamer et ce sera tout bon ! Merci beaucoup !
Cthulhu
Déca-utilisateur
 
Messages: 11
Inscription: Mardi 13 Octobre 2009, 09:10
Statut actuel: Post-bac | Master

Re: Afficher code et son résultat

Messagepar Cthulhu » Mercredi 18 Novembre 2009, 10:08

Bon, en fin de compte, il semblerait que beamer réinterprète par derrière...
Voici un exemple :

Code: Tout sélectionner
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\makeatletter
\newcommand\codexec{%
  \bgroup\bgroup\let\do\@makeother
  \do\\\do\{\do\}\do\$\do\&\do\#\do\^\do\_\do\%\do\~%
  \codexec@i
}
\newcommand\codexec@i[1]{%
  \long\def\codexec@ii##1#1{%
    \egroup\everyeof{\noexpand}\endlinechar\m@ne
    \par\noindent
    \hbox to \linewidth{\hbox to0.5\linewidth{\hfil\ttfamily##1\kern1em}%
    \hbox to0.5\linewidth{\scantokens{##1}\hfil}}%
    \egroup
  }%
  \codexec@ii
}
\makeatother

\begin{document}
\frame{
  \frametitle{Exemple}
  \codexec-\LaTeX, c'est super-
  \codexec +\TeX{} et \LaTeX{} se complètent.+
  \codexec|$\frac13+\frac12=\frac56$|
}
\end{document}


Dans tous les cas, merci beaucoup pour votre aide et vos réponses rapides.
Cthulhu
Déca-utilisateur
 
Messages: 11
Inscription: Mardi 13 Octobre 2009, 09:10
Statut actuel: Post-bac | Master

Re: Afficher code et son résultat

Messagepar un bon petit » Mercredi 18 Novembre 2009, 13:19

Cthulhu a écrit:Bon, en fin de compte, il semblerait que beamer réinterprète par derrière...

Ah oui, c'est étonnant !
On peut s'en sortir à peu de frais en faisant du faux verbatim ce que permet la primitive \detokenize.
Attention le code n'est pas fidèlement reproduit : entre autres subtilités, un espace est systématiquement rajouté après chaque séquence de contrôle, même si elle n'existe pas dans le code.

Code: Tout sélectionner
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand\codexec[1]{%
   \par\noindent
   \hbox to \linewidth{%
      \hbox to0.5\linewidth{\hfil\ttfamily\detokenize{#1}\kern1em}%
      \hbox to0.5\linewidth{#1\hfil}}}

\begin{document}
\frame{%
  \frametitle{Exemple}
  \codexec{\LaTeX, c'est super}%
  \codexec{$1+\frac12=\frac32$}
}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 685
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Afficher code et son résultat

Messagepar pg » Mercredi 18 Novembre 2009, 19:36

Quand on fait du verbatim dans beamer, il faut utiliser \begin{frame} avec l'option fragile :

Code: Tout sélectionner
\documentclass{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\makeatletter
\newcommand\codexec{%
  \bgroup\bgroup\let\do\@makeother
  \do\\\do\{\do\}\do\$\do\&\do\#\do\^\do\_\do\%\do\~%
  \codexec@i
}
\newcommand\codexec@i[1]{%
  \long\def\codexec@ii##1#1{%
    \egroup\everyeof{\noexpand}\endlinechar\m@ne
    \par\noindent
    \hbox to \linewidth{\hbox to0.5\linewidth{\hfil\ttfamily##1\kern1em}%
    \hbox to0.5\linewidth{\scantokens{##1}\hfil}}%
    \egroup
  }%
  \codexec@ii
}
\makeatother

\begin{document}

\begin{frame}[fragile]
  \frametitle{Exemple}
  \codexec-\LaTeX, c'est super-
  \codexec +\TeX{} et \LaTeX{} se complètent.+
  \codexec|$\frac13+\frac12=\frac56$|
\end{frame}

\end{document}
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Afficher code et son résultat

Messagepar un bon petit » Mercredi 18 Novembre 2009, 20:21

pg a écrit:Quand on fait du verbatim dans beamer, il faut utiliser \begin{frame} avec l'option fragile :

Ouf, merci ! J'avoue que c'est le tout premier «beamer» que je compile de ma vie :oops: . Inutile de dire que j'ignore totalement comme cela fonctionne et les options qu'il est possible de passer.
un bon petit
Giga-utilisateur
 
Messages: 685
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Afficher code et son résultat

Messagepar Cthulhu » Vendredi 20 Novembre 2009, 10:05

Effectivement, y'a du mieux ! J'ai maintenant une erreur critique au lancement de kdvi (je suis sous Debian). Ce doit être une bête histoire de paquetage qu'il me manque, ou un problème avec le fichier "ecss0800.1200pk". Je vais essayer de régler ceci et je vous tiens au courant !
Cthulhu
Déca-utilisateur
 
Messages: 11
Inscription: Mardi 13 Octobre 2009, 09:10
Statut actuel: Post-bac | Master


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot] et 35 invités