Profitez des offres Memoirevive.ch!
Introduction à LaTeX, partie 4 (mise à jour)

Nous en sommes maintenant à l'épisode 4 de l'introduction à LaTeX de Fabien Conus, mise à jour par votre serviteur. La version originale est disponible ici. Bonne lecture !


Grâce aux parties précédentes, vous avez tous les clefs en main pour écrire un document ne contenant que du texte. Mais il est forcément utile de pouvoir insérer des objets comme des listes, des tableaux ou des images. Nous allons voir dans cette partie comme procéder.

Créer une liste

La création d'une liste se fait grâce à l'environnement itemize. Une fois dans l'environnement, chaque élément de la liste est défini par la commande \item. Un exemple :

\begin{itemize}
\item Un élément ;
\item un autre élément ;
\item et encore un autre\dots
\end{itemize}

Après compilation, on obtient :

image

Vous noterez le retour à la ligne automatique entre chaque élément (pas besoin de saut de ligne ou de commande \\). Vous aurez aussi noté au passage l'utilisation de la commande \dots qui correspond aux trois points de suspension « … », qu'on peut aussi entrer directement au clavier si on dispose d'un encodage de texte contenant ce symbole : Mac OS Roman, UTF-8 Unicode par exemple, mais malheureusement pas ISO Latin 1.

Il existe également un environnement enumerate, qui fonctionne comme itemize mais qui remplace les puces par des numéros. Exemple :

\begin{enumerate}
\item Premier élément.
\item Deuxième élément.
\item Troisième élément, etc.
\end{enumerate}

Résultat :

image

On dispose également de l'environnement description permettant d'établir des listes de… descriptions (mais où va-t-il chercher tout ça ?). Chaque item doit être muni d'un argument optionnel, qui n'est plus si optionnel que ça donc ;-) et qui contient le nom à décrire.

\begin{description}
\item[Word] Traitement de texte \textsc{wyziwyg}
potentiellement nuisible à votre santé mentale.
\item [Open Office Writer] Traitement de texte
\textsc{wyziwyg} cherchant trop à ressembler au précédent.
\item[\LaTeX] Époustouflant formateur de texte
non \textsc{wyziwyg}.
\end{description}

Résultat :

image

Il est bien sûr possible d'emboîter des listes entre elles. LaTeX adaptera alors de lui-même les numérotations éventuelles, et introduira les indentations nécessaires. Voici un exemple de deux listes enumerate emboîtées :

\begin{enumerate}
\item Surtout rester Zen.
\item Mais faire les courses quand même.
    \begin{enumerate}
    \item À la boulangerie d'abord ;
    \item À Carrefour ensuite.
    \end{enumerate}
\item Rentrer à la maison, râler quand même un peu, etc.
\end{enumerate}

On obtient dans ce cas :

image

Vous pouvez faire quelques expériences de listes emboîtées, de même type ou non, et voir ce qui en résulte.

Remarquons que la présentation des listes est influencée par la langue par défaut choisie pour composer le document. Voyez-vous même ce qui se passe lorsque vous composez une liste itemize non plus avec le paquet babel option frenchb, mais sans babel, ou avec l'option english, ce qui revient au même.

(Attention, si entre deux compilations vous changez la langue du document, c'est-à-dire l'option donnée à babel, il faut supprimer le fichier « .aux » précédemment créé avant de recompiler, sinon LaTeX coincera.)

Insérer une image

Pour insérer une image, nous devons faire appel à un nouveau paquet de commandes intitulé graphicx (il existe également un paquet graphics mais qui est moins complet). Nous devons donc ajouter à notre préambule :

\usepackage{graphicx}

Ceci étant fait, nous pouvons ajouter une image au moyen de la commande :

\includegraphics{monimage.jpg}

Ceci suppose que le fichier « monimage.jpg » se trouve dans le même répertoire que le fichier « .tex ». Si vos images sont dans un dossier « images » se trouvant dans le dossier contenant le fichier « .tex », vous pouvez accéder à vos images en entrant :

\includegraphics{./images/monimage.jpg}

Les formats d'image reconnus par pdfLaTeX (qui est le moteur que TeXShop utilise par défaut) sont PDF, JPG et PNG (les extensions de fichier correspondantes sont « .jpg », « .png » et « .pdf »). Le format PDF est particulièrement utilisé pour des images vectorielles, mais est également tout à fait adapté aux images bitmap. Il est également possible d'introduire des images EPS en changeant le mode de compilation de TeXShop, je reviendrai là-dessus plus tard.

Voyons donc un exemple concret :

\begin{document}
Voici une photo : \includegraphics{medor.jpg} de mon chien Médor.
\end{document}

Comme en HTML, l'image fait alors partie intégrante du texte :

image

Mais dans la plupart des cas, ce n'est pas ça que l'on veut. On veut placer l'image entre deux parties du texte. Il suffit alors de la placer dans un environnement center :

\begin{document}
Voici une photo :
\begin{center}
\includegraphics{medor.jpg}
\end{center}
de mon chien Médor.
\end{document}

Pour ajouter une légende, on la placera simplement à la ligne :

\begin{document}
Voici une photo:
\begin{center}
\includegraphics{medor.jpg}\\
Photo prise en juin 02
\end{center}
de mon chien Médor.
\end{document}

Résultat final :

image

(À tout hasard, je précise qu'en fait ce beau fox-terrier n'est pas à moi, et que je ne l'ai même jamais vu. J'ai déniché sa photo « au pif » sur le Web, et son nom n'y était pas mentionné :-))

Les flottants

Il arrive également qu'on s'intéresse peu au placement précis de l'image, mais qu'on veuille par contre la numéroter pour pouvoir y faire référence (c'est le cas le plus fréquent lors de publications scientifiques). Pour cela nous allons placer cette image dans un environnement figure :

\begin{document}
begin{figure}
\includegraphics{medor.jpg}
\end{figure}
\end{document}

L'image devient alors un float element, un élément flottant. Cela signifie que LaTeX s'occupera tout seul du placement de l'image. S'il n'y a pas assez de place sur la page en cours, il la placera sur la page suivante. S'il y a un titre de section à proximité, il s'arrangera pour placer l'image le plus judicieusement possible. La position de l'image ne dépend donc plus uniquement de l'endroit du texte où vous la déclarez. Par exemple :

\begin{document}
Ceci est un premier paragraphe, bla bla bla
bla bla bla, etc.
\begin{figure}
\centering
\includegraphics{medor.jpg}
\end{figure}
Ceci est un deuxième paragraphe, bla bla bla
bla bla bla, etc.
\end{document}

Notez l'emploi de la commande-bascule \centering au lieu de l'environnement center pour centrer l'image. Ceci permet de ne pas rajouter d'espace vertical superflu entre la figure et le texte qui l'entoure, l'environnement figure en ayant déjà ajouté !

L'emploi d'un flottant ne garantira pas que l'image soit placée entre les deux paragraphes. Vous pouvez toutefois indiquer à LaTeX vos préférences en ajoutant une option :

\begin{figure}[option]

« Option » est un (ou plusieurs) caractère(s) indiquant vos préférences quant au placement de l'image. Les valeurs possibles sont :

  • t : « top », l'image sera placée en haut d'une page ;
  • b : « bottom », l'image sera placée en bas d'une page ;
  • h : « here », l'image sera placée là où elle est déclarée (dans la mesure du possible) :
  • p : « page », l'image sera placée sur une page séparée ne contenant que des éléments flottants.

Vous pouvez bien entendu combiner ces quatre caractères dans l'ordre de vos préférences. Si vous voulez essayer de forcer LaTeX à placer votre image là où vous le souhaitez, vous pouvez ajouter un point d'exclamation « ! » à ces options. Mais cela n'ira jamais à l'encontre du look du document.

Si vous ne pouvez placer votre image là où vous la voulez, il devient difficile de la mentionner. Dans mon exemple ci-dessus, si l'image de mon chien Médor se trouve à la page suivante, ma phrase n'a plus beaucoup de sens. Il s'agit donc d'y faire référence de la même manière que nous l'avons fait pour des chapitres et des sections dans la partie précédente, en y ajoutant une étiquette.

Pour cela, il faut y ajouter une légende. Ceci se fait grâce à la commande \caption :

\begin{figure}[ht]
\centering
\includegraphics{medor.jpg}
\caption{\label{medor}Voici la photo de Médor prise en juin 02.}
\end{figure}
Sur la figure~\ref{medor}, vous pouvez voir la photo de Médor.

Voilà ce que cela donnera :

image

La numérotation est effectuée automatiquement par LaTeX. L'argument de la commande \caption peut rester vide si vous ne désirez pas placer de légende, dans ce cas seule la numérotation apparaîtra.

Une particularité problématique à laquelle vous serez vite confronté : supposons que vous souhaitiez imposer un retour à la ligne dans la légende en utilisant les commandes \\ ou \newline dans l'argument de \caption. Ou bien que vous vouliez y créer un nouveau paragraphe (en insérant une ligne blanche ou une commande \par). Hé bien, au pire vous obtiendrez des erreurs, au mieux ces commandes n'auront aucun effet…

Voilà qui semble bizarre ! Cela s'explique ainsi : LaTeX craint que si vous utilisez ces commandes, votre légende soit trop longue pour paraître dans une éventuelle table des figures (l'analogue pour les figures de la table des matières traitée à la leçon précédente, on en reparlera un peu plus loin).

La première étape pour résoudre ce problème est d'utiliser la commande \caption avec une option entre crochets contenant une version « courte » de votre légende. Cette version courte sera alors celle qui paraîtra dans la liste des figures, à la place de la légende complète. Exemple :

\caption[Médor, juin 2002]{Voici la photo de Médor,\\ prise en juin 2002}

Maintenant que vous utilisez cet argument optionnel, les commandes \\ ou \par n'entraînent plus d'erreurs. Mais elles continueront à n'avoir aucun effet sur le texte de la légende… Un moindre mal, certes, mais quand même ! D'où la deuxième étape de la résolution du problème : utiliser le paquet caption (à ne pas confondre avec la commande \caption !). Insérez donc en préambule la ligne suivante :

\usepackage{caption}

et le problème est enfin complètement réglé.

Le paquet caption ne fait pas que cela, il permet une multitude de personnalisation des légendes de flottants, mais cela dépasse le cadre de ce cours.

Manipuler une image

Bien entendu, il est souvent nécessaire de manipuler un peu l'image car elle est trop grande ou trop petite. Ceci se fait très simplement en passant une ou des options à la commande \includegraphics . Si vous utilisez plusieurs options,  les affectations de valeur à chaque option doivent être séparées par une virgule :

\includegraphics[option1=valeur1, option2=valeur2, …]{monimage.jpg}

Voici un tableau listant les principales options et les valeurs qu'ils peuvent prendre :

Option Valeur
scale Facteur compris en 0 et 1
angle Angle en degrés (0 à 360)
draft true ou false
width dimension
height dimension

Il y a d'autres options, mais qui sont plus poussées et inutiles dans la plupart des cas (je ne les ai jamais utilisées).

L'option scale permet une mise à l'échelle de l'image ou facteur est le rapport avec l'image originale.

L'option angle permet une rotation de l'image et l'angle est donné en degrés (dans le sens inverse des aiguilles d'une montre).

Ainsi, la commande suivante :

\includegraphics[scale=0.5, angle=120]{medor.jpg}

rapetisse ce pauvre Médor de moitié et le fait pivoter de 120 degrés :

image

(désolé pour la mauvais qualité de l'image bitmap (PNG), cela vient de sa résolution de départ, pas de LaTeX ;-) De façon générale, d'ailleurs, les images vectorielles se prêtent beaucoup mieux au changements d'échelle.)

L'option draft permet d'afficher un rectangle vide en lieu et place de l'image. Les dimensions seront toutefois celles de l'image.

Les options width et  height (« largeur » et « hauteur ») prennent comme valeur une dimension. Cette dimension peut être donnée de plusieurs manières. En centimètres bien sûr, par exemple 5in ou en points : 500pt, mais aussi en fonction de la taille de la page ou du texte grâce aux commandes \paperwidth et \textwidth (respectivement \paperheight et \textheight). La première commande donne la taille de la page (marges y comprises) tandis que la deuxième donne la taille effective du texte (sans les marges). Ceci est très utile pour avoir une image qui a la même largeur (ou longueur) que le texte, mais aussi une fraction de cette dimension. En effet, vous pouvez très bien ajouter un facteur devant ces commandes :

\includegraphics[width=0.75\textwidth]{monimage.jpg}

Ainsi, l'image aura une largeur égale aux trois quarts de la largeur du texte.

Il existe encore de nombreuses fonctions d'image dans différents paquets de commandes pour LaTeX, mais celles-ci sont beaucoup plus poussées. Ce que je viens de vous décrire devrait suffire pour la plupart des cas (je n'ai jamais utilisé d'options plus poussées).

Comme nous l'avons déjà mentionné, il existe un équivalent de la table des matières pour les figures. Pour créer une table des figures, il suffit d'entrer la commande \listoffigures, là où vous désirez voir apparaître cette liste (habituellement en début ou en fin de document).

Insérer un tableau

La création de tableaux est très puissante en LaTeX. Pour créer un tableau il faut utiliser l'environnement tabular. Voici un exemple simple :

\begin{document}
Voici un tableau :
\begin{tabular}{lcr}
Ligne 1 & Élément 1 & Élément 2\\
Ligne 2 & Élément 3 & Élément 4\\
Ligne 3 & Élément 5 & Élément 6
\end{tabular}
\end{document}

Étudions cet exemple en détail. Tout d'abord, on commence l'environnement tabular grâce à la commande \begin. Vous noterez que la syntaxe est un peu particulière puisqu'elle prend deux arguments (entre accolades). Tout d'abord le nom de l'environnement (tabular) puis une suite de caractères. Cette chaîne de caractères (ici lcr) définit deux choses : le nombre de colonnes ainsi que l'alignement des éléments de chacune de ces colonnes.

Dans notre exemple, lcr signifie que notre tableau possède trois colonnes (trois caractères). Il signifie aussi que la première colonne aura des éléments alignés à gauche (l pour « left »), que les éléments de la deuxième colonne seront centrés (c pour « center ») et que ceux de la troisième colonne seront alignés à droite (r pour « right »).

On entre ensuite les éléments. Pour passer à la colonne suivante, on utilise le caractère & (l'esperluette), pour terminer une ligne du tableau, on utilise la commmande \\ sauf pour la dernière ligne qui se termine par \end.

Si vous compilez cet exemple, vous obtiendrez ceci :

image

On y remarque deux choses :

  • la création d'un tableau n'implique pas de saut de ligne. Notre tableau est placé à la suite de la phrase « Voici un tableau : » ;
  • le tableau n'est pas délimité par des barres horizontales et verticales.

Pour pallier à la première constatation et mettre le tableau sur une nouvelle ligne, vous pouvez certes simplement utiliser la commande \newline (ou \\). Mais il y a beaucoup plus élégant, vous pouvez utiliser l'environnement center que nous avons défini dans la partie précédente. Le tableau sera alors placé sur un nouveau paragraphe et centré.

Pour ajouter des barres verticales à notre tableau, nous allons modifier la chaîne de caractères définissant le tableau. Si nous voulons séparer la première colonne des deux autres par une barre verticale, nous allons transformer lcr en l|cr. Ce caractère vertical est obtenu sur un clavier suisse-romand par « alt-7 » et sur un clavier français « alt-shift-l ». Si nous voulons séparer toutes les colonnes par une barre verticale, nous utiliserons l|c|r, et enfin pour que notre tableau soit délimité par deux barres verticales nous utiliserons |l|c|r|. Logique. Bien sûr, vous pouvez utiliser plusieurs barres à la suite : |l||c|r|.

Pour obtenir une barre horizontale, nous utilisons la commande \hline, que nous placerons entre deux lignes. Notre code deviendra par exemple :

\begin{document}
\begin{center}
\begin
{tabular}{|l||c|r|}
\hline
Colonne 1 & Colonne 2 & Colonne 3\\
\hline
\hline
Ligne 1 & Élément 1 & Élément 2\\
\hline
Ligne 2 & Élément 3 & Élément 4\\
\hline
Ligne 3 & Élément 5 & Élément 6\\
\hline

\end{tabular}
\end{center}
\end{document}

Voici son résultat :

img_tag(5333#tabularv2)

Chaque élément du tableau peut contenir ce que vous voulez ! Du texte bien sûr, mais aussi une image (grâce à un \includegraphics) ou même un autre tableau ! Essayez donc le code suivant :

\begin{document}
\begin{center}
\begin
{tabular}{|l||c|r|}
\hline
Colonne 1 & Colonne 2 & Colonne 3\\
\hline
\hline
Ligne 1 &
     \begin{tabular}{c|c}
     Tableau & dans\\
     \hline un & tableau
     \end{tabular}
& Élément 2\\
\hline
Ligne 2 & Élément 3 & Élément 4\\
\hline
Ligne 3 & Élément 5 & Élément 6\\
\hline

\end{tabular}
\end{center}
\end{document}

Voici le résultat :

image

Pas mal, non ?

Comme pour les images, les tableaux peuvent être définis comme des éléments flottants auxquels on pourra alors faire référence. Pour les tableaux, on utilisera l'environnement table au lieu de l'environnement figure. La syntaxe reste la même. Par exemple :

\begin{table}[ht]
\centering
\begin{tabular}{lcr}
Ligne 1 & Élément 1 & Élément 2\\
Ligne 2 & Élément 3 & Élément 4\\
Ligne 3 & Élément 5 & Élément 6
\end
{tabular}
\caption{Mon beau tableau}
\label{beautableau}
\end{table}

On pourra alors faire référence à ce tableau grâce à un \ref{beautableau}.

Et comme pour les figures flottantes, il est possible de créer une liste des tableaux flottants qui se présentera comme une table des matières. Ceci se fait grâce à la commande \listoftables.

Les macros, le retour

Bien sûr, tous les environnements que nous venons de voir sont accessibles depuis le menu « Macros » de TeXShop. J'en profite pour vous signaler que vous pouvez associer des raccourcis-clavier aux environnements que vous utilisez fréquemment. Pour cela, vous trouverez dans le menu « Macros », l'élément « Ouvrir l'éditeur des macros... » Vous obtiendrez cette fenêtre :

image

Pour ajouter un raccourci à une macro, entrez un caractère dans le champ « Touche » et éventuellement un modifieur. Par exemple, j'ai ici associé « command-option-f » à l'insertion de l'environnement figure. Vous pouvez par ailleurs également dans cet éditeur modifier la macro ou en ajouter d'autres.

Je tiens à insister sur cet éditeur de macros car c'est lui qui vous rendra la vie plus facile ! Bien entendu, il est très rébarbatif d'entrer ces contre-obliques et ces \begin et \end. Mais les macros sont là pour le faire à votre place, alors profitez-en. Pour ma part, tous les environnements que nous avons vus jusqu'à présent ont un raccourci-clavier, ce qui rend la rédaction du document beaucoup plus aisée.

Je pense que c'est assez pour aujourd'hui, vous avez de quoi vous amuser avec les tableaux et les images. Essayez donc de mettre des images dans un tableau, de placer plusieurs images et tableaux pour voir la numérotation utilisée par LaTeX, de faire des tableaux dans des tableaux dans des tableaux, etc.

Dans la prochaine partie, qui sera l'avant-dernière de cette série d'articles (en tout cas pour commencer), nous attaquerons l'écriture des mathématiques avec LaTeX.

Fabien Conus

18 commentaires
1)
Caplan
, le 15.09.2008 à 08:34
[modifier]

Essayez donc de mettre des images dans un tableau, de placer plusieurs images et tableaux pour voir la numérotation utilisée par LaTeX, de faire des tableaux dans des tableaux dans des tableaux, etc.

Ooooh, misèèère! ;-))

Milsabor!

2)
Franck Pastor
, le 15.09.2008 à 08:46
[modifier]

Hé oui, Caplan, fô grimper la courte côte (fô faire les petits programmes), avec les bons braquets (les macros) et sans assistance électrique (sans machin wyziwyg), hein ? ;-)

3)
Guillôme
, le 15.09.2008 à 10:16
[modifier]

Ooooh, misèèère! ;-))

Même si c’est dit avec humour, je suis d’accord avec Caplan!

Je sais que Fabien va me fustiger, que Franck ne va pas me pardonner mais franchement, faire des tableaux avec Latex, c’est quand même le cauchemar sans compter que c’est peu lisible dans le corps du texte…

Perso, ma solution, c’est de faire des tableaux dans un tableur et de les exporter en pdf! Puis de les insérer comme des images dans Latex.

Je sais que Franck est un passionné des classes graphiques de Latex et qu’il peut dessiner ce qu’il veut avec 3 lignes de commandes sophistiquées mais je pense qu’une combinaison Latex (texte), Logiciel photo (image), tableur (tableaux) permet quand même d’allier la simplicité de mise en œuvre et la puissance/beauté de présentation de Latex :)

Alors, oui, je me rebelle et non, je ne m’entrainerai pas à faire des tableaux de tableaux dans des tableaux :p

4)
Franck Pastor
, le 15.09.2008 à 10:29
[modifier]

Mais tu es tout pardonné, Guillôme, d’autant que je suis partiellement d’accord avec toi : les tableaux en LaTeX, c’est pas si évident, au début du moins. Mais c’est puissant et fiable, et comme toujours le résultat est élégant et parfaitement lisible.

Et justement, question élégance et lisibilité, importer en image un tableau externe, bof bof bof.

Il y a bien mieux pour aider à faire un tableau : la palette « Matrice » de TeXShop.

On en parle à la leçon suivante, pour les matrices, mais on aurait pu, Fabien et moi, en parler dès cette leçon, puisqu’elle permet de faire également des tableaux (c’est le même principe). On choisit « tabulaire », on précise le nombre de lignes et colonnes, on le remplit façon Excel, on met les bordures, on clique sur « Insérer » et hop c’est fait. Parfait pour les débutants qui veulent faire des tableaux assez simples. Après on « customize » si on veut plus sophistiqué (par exemple en introduisant des doubles lignes ou colonnes de séparation, on a vu comment faire dans cette leçon).

Il sera temps de passer au vrai code quand on voudra faire des trucs vraiment élaborés.

5)
Guillôme
, le 15.09.2008 à 15:38
[modifier]

\begin{document} \begin{center} \begin{tabular}{|l||c|r|} \hline Colonne 1 & Colonne 2 & Colonne 3\\ \hline \hline Ligne 1 & Élément 1 & Élément 2\\ \hline Ligne 2 & Élément 3 & Élément 4\\ \hline Ligne 3 & Élément 5 & Élément 6\\ \hline \end{tabular} \end{center} \end{document}

Il sera temps de passer au vrai code quand on voudra faire des trucs vraiment élaborés.

C’est bizarre, soudainement, je crois comprendre pourquoi 99% des gens utilisent Office de Microsoft1.

1 Si, avec cette attaque sous la ceinture, je ne réussis pas à faire en sorte qu’il y ait 100 commentaires sur l’article de Franck, la cause est désespérée!

6)
Franck Pastor
, le 15.09.2008 à 15:49
[modifier]

Et c’est vrai que Word, c’est simple comme tout par rapport à LaTeX ;)

\begin{edit} M’enfin bon, t’es de mauvaise foi là, puisque la palette t’évite justement de taper presque tout le code de l’exemple que tu cites… Et puis c’est pas si difficile. Une fois les principes assimilés, tu laisses spontanément tomber la palette et tu entres tout directement. Avec des raccourcis claviers ça va encore plus vite. \end{edit}

7)
JPO1
, le 15.09.2008 à 16:15
[modifier]

Dans l’exercice de mon métier je produis quantité de tableaux.

Alors je suis les conseils de Tufte http://www.edwardtufte.com/tufte/ qui m’a appris que la lecture des tableaux était d’un long apprentissage, et ainsi que plus un tableau était complexe (attention ici complexité ne veut pas dire taille ni difficulté des données exposées mais niveaux d’imbrication et aussi décoration) plus le public capable de le lire était restreint. Aussi je m’efforce toujours de produire des tableaux de faible complexité et peu chantournés, c’est un travail per se. Et j’ai pris l’habitude très vite de les écrire en LaTeX, ce qui est aussi rapide que dans un tableur, pour moi. La contrainte aide à réfléchir.

Ceci dit lorsque je reçois des tableaux excel ou de toute autre origine et que je veux les utiliser dans un rapport je copie-colle la partie utile dans un traitement de texte (par exemple Textedit), je remplace toutes les tabulations (taper option tab dans la ligne de recherche) par la suite espace & espace (assez curieusement le copier-coller fait parfois sauter une tabulation derrière une cellule vide—mais la correction est facile), ensuite les fins de ligne par espace \\ fin de ligne (dans ls fenêtre de recherche de textedit fin de ligne s’obtient bêtement par un return). Ensuite copier-coller dans TeXShop et j’enferme cela dans l’environnement de tableau qui convient. Il reste à remplir la ligne de structure etc. Evidemment avec Nisus ce genre d’exercice est encore plus facile.

Il paraît que Gnumeric a une bonne exportation vers Latex mais je n’ai jamais pu installer ce tableur sous mac os 10.5.

8)
JPO1
, le 15.09.2008 à 17:08
[modifier]

Je viens d’essayer Gnumeric sous windows XP (à l’aide de VMware fusion) : le code produit est très compliqué. Je ne conseillerai pas cette solution de production.

En suivant une idée d’un lyxien je viens aussi d’essayer un copier-coller d’un tableur dans la palette matrix de TeXShop, et bien ça ne marche pas.

9)
Franck Pastor
, le 15.09.2008 à 17:32
[modifier]

Je me demande si le tableur d’Open Office n’a pas lui aussi une fonction d’exportation, il me semble en avoir entendu parler.

En suivant une idée d’un lyxien je viens aussi d’essayer un copier-coller d’un tableur dans la palette matrix de TeXShop, et bien ça ne marche pas.

Ça me fait penser quand même à une autre tactique, la création dudit tableau dans Lyx et ensuite importer le code LaTeX correspondant… Je ne connais pas suffisamment Lyx pour savoir si on y gagne, mais pourquoi pas ?

10)
JPO1
, le 15.09.2008 à 17:58
[modifier]

Open Office 3.0 n’a pas cette fonction d’exportation vers LaTex.

Quant à Lyx je n’ai jamais accroché à ce programme. Je ne me rappelle même plus de la qualité du code LaTeX produit.

11)
Franck Pastor
, le 15.09.2008 à 18:11
[modifier]

Open Office 3.0 n’a pas cette fonction d’exportation vers LaTex.

Tu as certainement raison, j’ai dû confondre avec OOLaTeX, qui n’a rien à voir en fait.

Quant à Lyx je n’ai jamais accroché à ce programme. Je ne me rappelle même plus de la qualité du code LaTeX produit.

Je ferai quelques essais sur les tableaux. Jusqu’ici, les codes LaTeX que j’ai vu produire par Lyx étaient assez redondants, mais clairs.

12)
Franck Pastor
, le 15.09.2008 à 20:11
[modifier]

Je viens d’essayer quelques tableaux avec Lyx. Aucun problème pour le code produit, il est très propre, sa seule particularité est qu’il utilise la macro \tabularnewline au lieu de \\ pour passer d’une ligne à l’autre.

On passe d’une case à l’autre en jouant avec la touche Tab ou les flèches de direction, pratique.

Les bordures se règlent « à la Word ».

Inconvénient : suppose la même justification pour chaque colonne du tableau, et suppose également que la première ligne est une ligne d’en-têtes, séparée du reste par un double trait. Il faut généreusement jouer du clic droit sur le tableau ou sur une ligne/colonne sélectionnée à la souris, pour modifier les réglages prévus par défaut.

Bilan mitigé. Je préfère encore coder directement, c’est plus souple :-)

13)
jluc
, le 15.09.2008 à 20:22
[modifier]

Salut à tous.

En parlant de macros, de TexShop et d’images on peut ajouter le glisser/déposer.

Dans la configuration de base, déposer une image dans une fenêtre texte de TexShop introduit

\includegraphics[]{<fichier image>}. Mais il y mieux.

Ouvrir l’éditeur de Macros. Créer un sous-menu nommé “Drag & Drop”. Créer un nouvel item avec comme nom, l’extension de l’image à traiter par exemple ”.jpg”.

Coller ce qui suit dans l’espace Contenu:

\begin{figure}[htbp]
    \centering
   % \includegraphics[scale=0.9]{%r} 
     \includegraphics[width=0.9\textwidth]{%r} 
        \caption{#INS#}
\label{%n}
\end{figure}

A modifier selon ses besoins. Une description complète se trouve dans l’aide en ligne Basic Help -> Editing Tricks.

14)
Franck Pastor
, le 16.09.2008 à 16:52
[modifier]

Jluc, une question : les « %r » et « %n » qu’on voit en arguments de tes commandes ont-ils une signification précise ?

15)
jluc
, le 16.09.2008 à 19:27
[modifier]

Bien sûr ! ; -) D’après le mode d’emploi :

  %F full path of an dropped file
  %f dropped filename
  %r relative path of the dropped file
  %n filename without extension
  %e extension.

Avec le la petite macro proposée tu obtient dans ton texte

\begin{figure}[htbp]
    \centering
    \captionabove{}
    \includegraphics[scale=1]{MonImage.jpg} 
    % \includegraphics[width=\textwidth]{MonImage.jpg} 
    \label{MonImage}
\end{figure}

si ton image est dans le même dossier que le fichier .tex; {../../../../Desktop/MonImage.jpg} si elle sur le bureau. J’ai mis en commentaire une variante où la taille de l’image dépend de la largeur du texte. Il suffit d’effacer le % en début de ligne pour changer de mode de calcul. Le nom de l’image est utilisé également comme label.

J’ai triché un peu ici, en te donnant le texte de sortie d’une deuxième version du script que j’utilise pour les pdf qui seront utilisés à l’écran, les liens hypertextes ont tendance à n’afficher que la légende, avec celle-ci au-dessus de l’image ou du tableau, plus de risque que ton image ne soit pas affichée.

Ah, et en bonus le curseur est placé à l’endroit où tu vas entrer le texte de la légende, ceci grâce au #INS#.

16)
Franck Pastor
, le 17.09.2008 à 10:40
[modifier]

Les #INS# (et #SEL#), je connaissais, et je connaissais le coup du « glisser-déposer » d’une image qui insère automatiquement la commande \includegraphics, mais je ne savais pas que ce « glisser-déposer » pouvait se piloter comme cela avec les macros : je n’avais pas encore lu cette partie de l’aide de TeXShop, shame on me ! Merci !

17)
Guillôme
, le 18.09.2008 à 12:44
[modifier]

je n’avais pas encore lu cette partie de l’aide de TeXShop, shame on me ! Merci !

A quand la mise à jour de la mise à jour? :p

(Et en plus, je n’évoque même pas MacTex 2008)

18)
Franck Pastor
, le 18.09.2008 à 13:28
[modifier]

(Et en plus, je n’évoque même pas MacTex 2008)

Ouais ben MacTeX 2008 est justement en train de me faire chambouler la partie 6, qui prend du ventre à cause d’elle. Je vais réécrire la partie 1 bientôt, mais il y a moins de modifs à faire. Les autres parties ne sont quasi pas concernées.