Outils pour utilisateurs

Outils du site


latex

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

latex [2015/10/06 20:06] (Version actuelle)
Ligne 1: Ligne 1:
 +
 +===== latex =====
 + ​===== ​ Babel + french =====
 +
 +Ce package permet d'​ajouter des règles typographiques spécifiques au français.
 +
 + ​= ​ Utilisation:​ =
 +
 +Ajouter les lignes suivantes dans le header du document:
 +  ​
 +<​code>​
 +\usepackage[french]{babel}
 +\NoFrenchBabelItemize
 +</​code>​
 +
 +
 +La 2ème ligne est nécessaire pour éviter les conflits avec //itemize// du package prosper.
 +
 + ​= ​ utilisation:​ =
 +  * \ier \ieme \iers \iemes
 +  * \at
 +  * \bsc{small caps}
 +  * \no \No
 +
 +
 + ​==== ​ beamer ====
 +
 +une très bonne doc ici: http://​mcclinews.free.fr/​latex/​introbeamer
 +
 +
 +Beamer est un ensemble de classes [[:​latex|Latex]] permettant de générer des présentations. Après quelques tests, il est beaucoups plus performant que prosper.
 +
 +
 +====   ​Insérer des images dans un documents latex: ====
 +  * Utiliser le package //​graphicx//:​
 +  ​
 +<​code>​
 +\usepackage{graphicx}
 +</​code>​
 +
 +
 +  * Insérer une [[:​image|image]]:​
 +  ​
 +<​code>​
 +\includegraphics[width=0.90\textwidth]{img1.eps}
 +</​code>​
 +
 +
 +  * Convertir une [[:​image|image]] au format **eps**:
 +  ​
 +<​code>​
 +mogrify -format eps img1.png
 +</​code>​
 +
 +
 +====  Installation Latex ==== 
 +
 + ​==== ​ Sur [[Main/​Debian]] ====
 +
 +  ​
 +<​code>​
 +apt-get install prosper vim-latexsuite latexmk tetex-extra
 +</​code>​
 +
 +
 +==== Latexsuite ==== 
 +
 +Ensemble de plugin [[Main/​Vim]] ​ facilitant le travail sur des fichiers tex.
 +
 + ​=== ​ Installation sur [[Main/​Debian]]:​ ===
 +  ​
 +<​code>​
 +apt-get install vim-gtk vim-latexsuite
 +</​code>​
 +
 +
 + ​=== ​ Configuration:​ ===
 +
 +la configuration personnalisée se trouve dans ** ~/​.vim/​ftplugin/​tex.[[:​vim|vim]]** :
 +
 +  * le **é** marche de nouveau et la séquence **,i** insère un **\item**
 +  ​
 +<​code>​
 + imap <​buffer>​ ,i <​Plug>​Tex_InsertItemOnThisLine ​
 +</​code>​
 +
 +
 + ​=== ​ Personnalisation:​ ===
 +
 +Même fichier que la configuration personnalisée. Par exemple, pour l'​environnement slide:
 +
 +  * **avant**, F5 après avoir tapé "​slide"​ donne:
 +  ​
 +<​code>​
 +\begin{slide}
 +_
 +\end{slide}<​++>​
 +</​code>​
 +
 +
 +  * Si l'on souhaite obtenir plutôt:
 +  ​
 +<​code>​
 +\begin{slide}{<​+titre du slide+>}
 +%25 <​+commentaire+>​
 +\begin{itemize}
 +\item <++>
 +\end{itemize}
 +\end{slide}
 +<++>
 +</​code>​
 +
 +
 +il faut redéfinir la variable **g:​Tex_Env_Slide** de la manière suivante:
 +  ​
 +<​code>​
 +let g:​Tex_Env_slide = "​[[BR]]begin{slide}{<​+titre du slide+>​}^M%25 <​+commentaire+>​^M[[BR]]begin{itemize}^M[[BR]]item <​++>​^M[[BR]]end{itemize}^M[[BR]]end{slide}^M^M<​++>"​
 +</​code>​
 +
 +
 +**remarque:​** les //^M// doivent être remplacé par des "​retour chariot"​ entrés à l'aide de la séquence: //​control+v+entrée//​.
 +
 + ​==== ​ Touches de raccourcis: ====
 +  * Après un //slide//, un //​enumerate//,​ un //​itemize//,​ on peut faire **F5** pour compléter automatiquement la structure.
 +  * De même, les séquences de type //​\emph{word}//​ peuvent être raccourcies par //emph// + **F7**
 +  * Il est possible d'​aller au prochain champ //<​++>//​ par le raccourci **control+j**
 +
 + ​=== ​ Personnalisation des touches de raccourcis: ===
 +  * pour que "​eof"​ se transforme automatiquement en "​\end{frame}"​ lors de la frappe, il faut ajouter la ligne suivante dans le fichier //​~/​.vim/​ftpolugin/​tex.vim//;​
 +  ​
 +<​code>​
 +call IMAP('​eof',​ '​\end{frame}',​ ''​)
 +</​code>​
 +
 +
 +
 + ​=== ​ Problèmes: ===
 +  * les caractères spéciaux (underscore,​ antislash...)
 +  * la mise en page difficile à modifier.
 +  * la compilation (mais voir le tips ci-dessous)
 +
 + ​=== ​ Les avantages: ===
 +  * légèreté des fichiers textes
 +  * possibilité de compilation à la volée.
 +  * reprise après un an: no soucy.
 +
 + ​=== ​ Tips: ===
 +  * en lançant la commande //latexmk -pdfps -pvc fichier.tex//,​ et en lançant un xpdf sur fichier.pdf,​ latexmk va détecter les changement apportés au fichier tex et regénérer automatiquement le pdf. Il ne reste qu'à faire un refresh sur le xpdf pour avoir les changement en direct.
 +
 +
 + ==== multicolumn ==== 
 +<​code>​
 +\usepackage{multicol}
 +...
 +\begin{multicols}{2}
 +...
 +\end{multicols}
 +</​code>​
 +
 +
 +
 +Pour **Beamer**:
 +
 +  ​
 +<​code>​
 +\begin{columns}
 +       ​\column{.4\textwidth}
 +       ​\column{.4\textwidth}
 +    \end{columns}
 +</​code>​
 +
 +
 +====  Truc et astuces latex =====
 +
 + ​=== ​ Ajouter un lien internet en couleur: ===
 +  ​
 +<​code>​
 + ​\usepackage{hyperref}
 + ​\hypersetup{urlcolor=orangeopendoor,​linkcolor=orangeopendoor,​colorlinks}
 + ...
 + ​\href{adresse du lien}{nom du lien}
 +</​code>​
 +
 + === Colonnes ===
 +<​code>​
 +\begin{columns}[t]
 +\begin{column}[l]{5cm}
 +Première colonne
 +\end{column}
 +\begin{column}[r]{5cm}
 +Seconde colonne
 +\end{column}
 +\end{columns}
 +</​code>​
 +  * **t**op
 +  * **l**eft
 +  * **r**ight
 +  * **c**enter
 + ​=== ​ Accent circonflexe dans une formule de math: ===
 + 
 +<​code>​
 +\hat{~}x ​
 +</​code>​
 + se traduira par ^x
 +
 +===  //vrais// crochets ===
 + 
 +<​code>​
 + ​\(\left[a-c\right]\)
 +</​code>​
 + se traduira par [a-c]
 +
 + ​=== ​ Beamer: Supprimer la barre de navigation ===
 + 
 +<​code>​
 +\setbeamertemplate{navigation symbols}{}
 +</​code>​
 +
 +
 + ​=== ​ Tilde: ===
 + 
 +<​code>​
 +\ensuremath{\sim} ​
 +</​code>​
 +
 +
 + ​=== ​ de vrai symboles de math: ===
 +il faut passer en mode "​math"​ en incluant les symboles entre 2 $.[[BR]]
 +voir [http://​www.math.uiuc.edu/​~hildebr/​tex/​course/​intro2.html ici] pour les symboles possibles.
 +
 + ​=== ​ Numerotation de page ===
 +pour avoir une numérotation du style x/total:
 +
 +  ​
 +<​code>​
 +\usepackage{laspage}
 +...
 +\rfoot{\thepage/​\pageref{LastPage}}
 +
 +</​code>​
 +
 +
 +
 + ​=== ​ Pour avoir des graphiques de bonne qualité ===
 +Il faut que la résolution des images soit élevée (> 300dpi).
 +
 +Pour connaître la taille d'une [[:​image|image]]:​
 +  ​
 +<​code>​
 +identify -format "​%25[fx:​w/​RESOLUTION X] by %25[fx:​h/​RESOLUTION Y] cm" [[:​image|image]] ​
 +</​code>​
 +
 +
 + ​=== ​ Créer un tableau ===
 +  * Le tableau ci-dessous permet d'​avoir des cellules **multilignes**.
 +  * les hline insere des lignes horizontales.
 +  * le **&** termine une colonne
 +  * le **[[BR]]** termine une ligne
 +  ​
 +<​code>​
 +\begin{table}
 + \centering
 + \begin{tabular}{|c|p{4cm}|p{4cm}|}
 + \hline
 + en tete 1ere col & entete 2eme col & entete 3eme col \\ \hline
 +        cell1 & cell2 & cell3  \\ \hline ​ %25end of row 1
 +        cell4 & cell5 & cell6  \\ \hline ​ %25end of row 2
 +        \end{tabular}
 +\end{tabular}
 +</​code>​
 +
 +=== Créer une fenêtre à carreau ===
 +
 +vide. le //​renewcommand//​ permet d'​augmenter la hauteur de ligne
 +<​code>​
 +\renewcommand\arraystretch{2}
 +\begin{table}
 +\begin{tabular}{|p{4cm}|p{4cm}|}
 + \hline \multicolumn{2}{|c|}{} \\
 + \hline
 + & \\
 + \hline
 + & \\
 + \hline
 +\end{tabular}
 +\end{table}
 +</​code>​
 + ​=== ​ Créer un tableau dont le contenu apparaît au fur et à mesure ===
 +  ​
 +<​code>​
 +\begin{tabular}{|c|c|c|}
 +   ​\onslide%3c9->​{O} & \onslide%3c8->​{X} & \onslide%3c2->​{X} [[BR]] \hline
 +   ​\onslide%3c6->​{X} & \onslide%3c3->​{O} & \onslide%3c5->​{O} [[BR]] \hline
 +   ​\onslide%3c10->​{X} & \onslide%3c7->​{O} & \onslide%3c4->​{X}
 +  \end{tabular}
 +</​code>​
 +
 +
 +===  Exemple de tableau dont les modifications sont mises en valeur: ===
 +  ​
 +<​code>​
 +\begin{tabular}{|c|c|c|}
 + \hline
 + \onslide ​ *%3c1->​{0} & \onslide *%3c1->​{1} &​\onslide *%3c1>​{0}\onslide *%3c2>​{\color{orangeopendoor}{1}}[[BR]] \hline
 + \onslide ​ *%3c1->​{0} & \onslide *%3c1->​{1} & \onslide *%3c1->​{0} ​ [[BR]] \hline
 + \onslide ​ *%3c1->​{0} & \onslide *%3c1->​{1} & \onslide *%3c1->​{1} ​ [[BR]] \hline
 + \onslide ​ *%3c1->​{0} & \onslide *%3c1->​{1} & \onslide *%3c1->​{0} ​ [[BR]] \hline
 +\end{tabular} ​
 +</​code>​
 +
 +=== fusion de ligne ===
 +À l'​emplacement de la 1^ère^ cellule, il faut rajouter le code suivant:
 +<​code>​
 +\multicolumn{nombre}{aligne}{texte}
 +</​code>​
 + - //nombre// indique le nombre de cellules à fusionner.
 + - //aligne// le type de colonne (centrée, avec ou sans bordure)
 + - //texte// les données à insérer dans les cellules fusionnées.
 +
 +
 + ​=== ​ Multiple file document ===
 +On peut inclure des documents [[:​latex|latex]] depuis un document tex:
 +  ​
 +<​code>​
 +\include{file}
 +</​code>​
 +
 +
 +Il ne faut pas rajouter l'​extension au fichier.
 +
 +
 +Il semblerait que l'​inclusion d'un fichier dans un autre répertoire que le répertoire courant ne soit pas possible (msg  ​
 +<​code>​
 +Not Writing .aux (openout_any = p)
 +</​code>​
 +)
 +
 +En exportant la variable '​openout_any = r', la compilation par pdflatex est possible.
 +
 + === Checkbox / case à cocher ===
 +
 +Il faut utiliser le module [http://​www.ctan.org/​tex-archive/​help/​Catalogue/​entries/​wasysym.html wasysym] qui propose:
 + - {{{ \square }}} pour les cases à cocher vides
 + - {{{ \CheckedBox}}} pour les cases cochées.
 +
 + === Insérer une vidéo ===
 +
 +<​code>​
 + \begin{center}
 + \href{run: cvlc --play-and-stop Videos/​svn_session.ogv}{\includegraphics[width=20mm]{Images/​icones/​video.png}}
 +\end{center}
 +</​code>​
 +
 + === Créer une version imprimable ===
 +
 +Modifier l'​en-tête de la façon suivante:
 +<​code>​
 +\documentclass[frametop,​11pt,​handout]{beamer}
 +\usepackage{pgfpages}
 +\pgfpagesuselayout{2 on 1}[a4paper, border shrink=5mm]
 +</​code>​
 +
 + === Découper un fichier ===
 +
 +L'​objectif est de découper un fichier texte en autant de fichiers qu'il y a de section sous-section ou tout autre délimiteur.
 +
 + === Étape 1 : Découpage ===
 +
 +On utilise la fonction //csplit//:
 +<​code>​
 +csplit [[:​php|Php]].tex '/​\\subsection.*/'​ '​{*}'​ -f '​Php_'​
 +</​code>​
 +
 +Cette commande va découper le fichier //Php.tex// en autant de fichier //Php_XX// qu'il ya de //​subsection//​ dans le fichier d'​origine.
 +
 +Il est orobable que le 1er fichier ne contienne que le début du fichier (probablement des commentaires)
 +
 + === Étape 2 : Renommer les fichiers ===
 +
 +On pourrait bien évidemment le faire à la main ,mais bon...
 +<​code>​
 +c=0 ; for file in Php_* ; do name=$(perl -MEncode ​ -ne 'if ( m/​SUBSECTION\{([^}]+)/​) { my $plop=encode( '​UTF8',​ $1) ; $plop=~ s/\s/_/g ; print "​$plop\n"​ ;}' $file) ;   mv $file ${c}_$name.tex ; let "​c+=1"​ ; done
 +</​code>​
 +
 +Cette commande travaille sur tous les fichiers générés par csplit.
 +  * Elle récupère le titre de la //​subsection//​.
 +  * Elle le convertit en utf8, remplace les espaces par des _
 +  * et renomme le fichier, en conservant la numérotation
 +
 +
 +# vim: set filetype=dokuwiki:​
  
latex.txt · Dernière modification: 2015/10/06 20:06 (modification externe)