Active-DVI FAQ

# Active-DVI: Foire aux questions

Existe-t-il une version Win32 ?
  Réponse: Malheureusement, il n'y a pas de version Windows native. Toutefois, vous pouvez utiliser l'émulateur Cygwin and construire Active-DVI à partir des fichiers source, après avoir configurer le programme à l'aide de la commande spéciale `configure_Cygwin`.
  Réponse additionnelle: vous pouvez aussi utiliser le CD-ROM DemoLinux qui contient une version d'Active-DVI: si vous pouvez rebooter la machine Windows, redémarrez-la depuis le CD-ROM et lancez advi. Après la présentation redémarrez simplement la machine: DemoLinux n'écrit rien sur le disque dur si bien que la machine repart sans aucune modification.
Comment obtenir une présentation plein écran ?
  Réponse: Lancez Active-DVI et tapez `^F` (control-F) dans la fenêtre d'Active-DVI.
Comment revenir du plein écran à une taille normale ?
  Réponse: Tapez `^F` (control-F) à nouveau dans la fenêtre d'Active-DVI!
Comment centrer le transparent en mode plein écran ?
  Réponse: Utilisez la souris pour déplacer la boîte (bounding box) qui contient le transparent: en appuyant sur la touche contrôle et le bouton gauche de la souris le contour de la boîte apparaît; il vous suffit de maintenir touche et souris pour déplacer la boîte où vous le voulez.
Comment savoir quelles sont les clefs Active-DVI disponibles pendant la présentation ?
  Réponse: Tapez `?` dans la fenêtre Active-DVI.
Comment avoir des exemples de présentations ?
  Réponse: Regardez dans la distribution le sous-répertoire `examples`. Les sous-répertoires sont `basics` (de simple à modérément avancé), `slitex` avec 4 présentations simples à mettre en oeuvre dont on peut aisément s'inspirer, `prosper` (deux présentations dans les répertoires `LL` et `Join`) `seminar` (deux présentations dans les sous-répertoires `a14` et `clock`). Vous pouvez aussi explorer le sous-répertoire `test` du répertoire principal de la distribution et jeter un coup d'oeil aux divers fichiers `*.tex` qui y sont. Dans chacun de ces sous-répertoires lancez la commande `make` pour construire les différentes présentations. Lancer `make` au niveau du répertoire `examples` construit et visualise tour-à-tour tous les exemples de présentations.
Comment assurer la sécurité des présentations si l'on peut lancer n'importe quel programme depuis un fichier DVI ?
  Réponse: Par défaut Active-DVI ne lance pas automatiquement les applications embarquées dans les fichiers DVI. Au moment du lancement d'une application embarquée, la présentation s'arrête et une boîte de dialogue vous indique quelle application va être lancée puis vous demande confirmation avant d'effectivement exécuter le code.
Comment savoir à l'avance quelles applications sont lancées par un fichier DVI ?
  Réponse: Tapez `advi -n fichier.dvi`. Active-DVI ne se lance pas mais analyse le fichier pour trouver toutes les applications susceptibles d'être appelées durant la présentation.
Comment imprimer mes transparents «en vrai», sur du papier ou des transparents pour rétro-projecteur ?
  Réponse: Facile. Utilisez l'option `ignore` du style `advi.sty` (écrivez `usepackage[ignore]{advi}`). Puis recompilez votre fichier source avec LaTeX: le style d'Active-DVI supprimera certains effets et en simulera d'autres à l'aide de postscript.
  Réponse supplémentaire: Impossible. Comment pouvez-vous croire que quelque chose ou quelqu'un puisse être capable de rendre sur une simple feuille de papier tous ces mouvements de danse de vos textes et ces multiples effets, créatifs, fascinants, et pour tout dire si amusants, qui sont présents tout au long de votre présentation ? Il n'y a décidément aucun espoir que vous puissiez utiliser des transparents pour votre colloque: vous avez réellement besoin d'Active-DVI pour jouer votre présentation!
  Réponse préventive supplémentaire2: La réponse supplémentaire précédant immédiatement celle-ci est une blague; en fait, nous avons travaillé de notre mieux pour que l'option `ignore` de `advi.sty` fasse un bon travail; il n'en demeure pas moins, que le style fait de son mieux pour remplir un contrat impossible.
Comment écrire sur un transparent au cours de la présentation ?
  Réponse: Tapez `s` pour écrire du texte et `S` pour dessiner.
Comment écrire des programmes avec des couleurs dans mes présentations ?
  Réponse: Utilisez l'environnement `alltt`; les couleurs (et autres indications typographiques) sont alors disponibles avec une fonte machine à écrire. Par exemple:

      \begin{alltt}
      {\it{(* Remark that double semi-colon is mandatory here. *)}}
      let x = 1\textcolor{red}{;;}
      let r = \{foo = 1; bar = "toto"\};;
      \textcolor[named]{Red}{let} z = r.foo;;
      \end{alltt}

Comment écrire des programmes avec des formules mathématiques dans ma présentation ?
  Réponse: Utilisez l'environnement `alltt`; les formules de mathématiques dans cet environnement ne posent pas de problèmes pourvu que vous les entouriez des parenthèses spéciales `\(` et `\)`.
Certaines parties de mes transparents n'apparaissent pas avec advi (alors qu'elles sont imprimées par `xdvi`). Quer se passe-t-il?
  Réponse: Vous devez utiliser des fontes virtuelles et Active-DVI ne sait pas les traiter lui-même. Il faut donc préprocesser votre fichier DVI pour expanser les fontes virtuelles avec la commande dvicopy. Par exemple, la commande:

              dvicopy foo.dvi foo.advi && advi foo.advi

  règle normalement ce problème.
Comment visualiser les fontes PostScript Adobe (comme `ptmr8t`) avec Active-DVI ?
  Réponse: Vous devez préprocesser votre fichier DVI avec la commande dvicopy qui expanse les fontes virtuelles:

              dvicopy foo.dvi foo.advi && advi foo.advi

  règle normalement le problème.
  Réponse additionnelle: Active-DVI ne peut utiliser que les fontes basées sur des fichiers PK, dont les sources sont des fichiers `.mf`. Les fontes Adobe n'ont pas de fichiers source `.mf` associés; c'est pourquoi METAFONT ne peut créer de fichiers `.pk` correspondants pour Active-DVI.
  Pour s'en tirer, il suffit d'utiliser un équivalent de la fonte qui pose problème, parmi l'ensemble des fontes Computer-Modern qui a été créé par Donald Knuth pour servir de fontes par défaut à TeX.
Comment se fait-il qu'Active-DVI ait des problèmes de marges (alors que `xdvi` n'en a pas) ?
  Réponse: `xdvi` et `advi` n'utilisent pas les mêmes marges. `Advi` utilise la spécification d'encombrement (bounding box) émise par TeX dans le fichier DVI et n'ajoute aucune marge supplémentaire. Malheureusement, beaucoup de styles et de librairies LaTeX ne donnent pas une valeur correcte à la bounding box.
  Le remède consiste donc à modifier les marges en déplaçant la boîte englobante (bounding box) à la souris (Contrôle-Bouton Gauche), ou sur la ligne de commande au lancement de `advi` (options `-vmargin` et `-hmargin`).
Comment visualiser la page pointée par une ancre HTML dans un brouteur déjà lancé ?
  Réponse: pour afficher les liens hyper texte qui pointent vers des pages HTML, vous devez fixer correctement l'option `-browser` d'`advi`, ou alors appeler explicitement le brouteur de votre choix dans une commande `adviembed`. Vous pouvez par exemple utiliser:

      netscape -remote 'openURL(http://www.acm.org)'

  Pour insérer une telle commande dans une macro `adviembed`, un peu de magie est nécessaire parce que le caractère `'` est interprété par LaTeX. Pour l'en empêcher, écrivez par exemple:

      {\catcode `\' 12 \catcode `\: 12, \catcode `\' 12
        \adviembed {netscape -remote 'openURL(http://www.acm.org)'}
      }

  Pour `mozilla`, utilisez l'option `mozilla -remote`. Comme pour la question précédente, cette option suppose que mozilla est déjà lancé. Si vous voulez une commande qui marche dans tous les cas, même si aucun programme mozilla ne tourne, utilisez une commande shell; par exemple:

      #!/bin/bash

      # Écrivez ici l'adresse du binaire de mozilla, par exemple
      #MOZILLA=/usr/local/mozilla/mozilla
      MOZILLA=`which mozilla`

      case $# in
       1)
         if \$MOZILLA -remote "ping()" 2>/dev/null
         then
           \$MOZILLA -remote "openURL($1,new-window)" || \
           \$MOZILLA "$@"
         else
           \$MOZILLA "$@"
         fi;;
       *)
         \$MOZILLA "$@";;
      esac

  (À la place de la spécification de comportement `new-window`, vous pouvez choisir `new-tab` ou rien, comme vous le préférez.)
Comment éviter ces messages superfétatoires d'`advi` au sujet de `dvips` ?
  J'obtiens par exemple

      dvips: Unknown keyword (proc) in \special will be ignored
      dvips: Unknown keyword (koyaa) in \special will be ignored
      dvips: Unknown keyword (record) in \special will be ignored
      dvips: Unknown keyword (start) in \special will be ignored
      dvips: Couldn't find figure file advi:; continuing
      dvips: Unknown keyword (embed) in \special will be ignored
      dvips: Unknown keyword (name) in \special will be ignored
      dvips: Unknown keyword ("xmms") in \special will be ignored

  Réponse: Comme le disent les messages, ces erreurs ne proviennent pas d'`advi` mais de la commande `dvips` qui ne comprend pas les instructions `\special` que le style LaTeX `advi.sty` insère and le fichier DVI. Ce comportement est normal et explicitement spécifié par le format DVI: les interprètes de fichiers DVI doivent ignorer les instructions `\special` qu'ils ne comprennent pas. Toutefois, rien n'empêche les interprètes d'émettre une alerte quand ils rencontrent une instruction qu'ils ne connaissent pas.