Table of Contents

LaTeX

Introduction

Suite à une bataille de tous les instants lors des rédactions de rapports divers et variés avec ce magnifique logiciel qu'est LaTeX, des petits trucs ont été découverts pour faire des choses en apparence simples, mais en pratique bien tordues à mettre en oeuvre!

Inclure une figure avec "graphicx"

\usepackage{graphicx}
\graphicspath{ {fig/} }
\begin{figure}[htbp]
   \centerline{ \includegraphics[width=1.0\textwidth]{misc-exceptions} }
   \caption{Graphique.}
   \label{ass06:fig:misc-exceptions}
\end{figure}
\begin{figure}[htbp]
\begin{minipage}[t]{8cm}
   \centerline{\includegraphics[width=8cm]{qt-vtkwidget-1}}
      \caption{Widget définissant une boîte.}
   \label{ass06:fig:qt-vtkwidget-1}
\end{minipage}
\begin{minipage}[t]{8cm}
   \centerline{\includegraphics[width=8cm]{qt-vtkwidget-2}}
      \caption{Widget définissant un plan.}
   \label{ass06:fig:qt-vtkwidget-2}
\end{minipage}
\end{figure}

Verbatim avancé -> fancyvrb

% use fancyvrb
\VerbatimInput{txt/verbatim_01.txt}

ou (! indentation nécessaire pour pas que winedt foute la merde)

\begin{Verbatim}
        try
        {
            duv = matnr.solve(res);
        }
        catch(mtMath::DeterminantIsNull &excep)
        {
            std::cout << excep;
            return false;
        }
\end{Verbatim}

problème ''\tt''

{\tt std::cout « “texte” } donne très mal, utiliser plutôt: \path|std::cout « “texte”|

\section{Implémentation - Librairie
 \texorpdfstring{ {\tt Nurbs++} }{Nurbs++}}

Idem pour les expressions mathématiques dans les titres

\section{Calcul de \texorpdfstring{$\Gamma$}{Gamma}}

Notes ds la marge:

\marginnote{Faire un dessin}

Tableaux

Tableau classique

\begin{table}[htbp]
  \begin{center}
    \begin{tabular}{l|llll}
    \hline
     Module de Young             & $E$           & = & 117  & GPa \\
     Coefficient de Poisson      & $\nu$         & = & 0.35 &     \\
     Limite d'élasticité         & $\sigma_Y^0$  & = & 400  & MPa \\
     Coefficient d'écrouissage   & $h$           & = & 100  & MPa \\
     Masse volumique             & $\rho$        & = & 8930 & kg/m$^3$ \\ \hline
    \end{tabular}
    \caption{Propriétés matérielles pour l'impact de la barre de Taylor}
  \end{center}
  \label{tab:ale_apl_tay01}
\end{table}

Tableau (package array)

\begin{tabular}
{|>{\footnotesize\usefont{T1}{phv}{m}{n}}p{8.3cm}
|>{\footnotesize\raggedleft}p{1.2cm}
|>{\footnotesize\raggedleft}p{1.2cm}
|>{\footnotesize\raggedleft}p{1.2cm}
|>{\footnotesize\raggedleft}p{0.8cm} |>{\footnotesize}r|}

Tableau a colonnes extensibles (genre html)

\usepackage{tabulary}
\begin{tabulary} {\linewidth}{p{1cm}p{1.5cm}L}
où & $p$ & est la pression de contact, \\
   & $v$ & est le module de la vitesse relative de glissement des deux surfaces, \\
   & $\eta_0$ & est la viscosité du lubrifiant aux conditions normales de température et de pression, \\
   & $Ra$ & est une mesure de la rugosité combinée des deux surfaces.
\end{tabulary}

Tableau "landscape"

\usepackage{rotating}
\begin{sidewaystable}
\begin{center}
\begin{tabular}{|l|c|c|c|c|c|c|}
  \hline
  ... & ... & ... \\
  \hline
\end{tabular}
\end{center}
\caption{Interfaces anciennement utilisées par les entités géométriques.} 
\label{ass06:misc:gobj-1}
\end{sidewaystable}

Tableau sur plusieurs pages

\usepackage{longtable}
\begin{longtable}
\end{longtable}

Inconvénient : le tableau est d'office numéroté même si on ne met pas de \caption!

Solution : utiliser \usepackage{supertabular} qui n'insère un numéro que si on met un \caption Attention : la dernière ligne du tableau doit avoir un \\ sinon message d'erreur (contrairement à tabular) Inconvénient : quand il passe d'une page à l'autre, la largeur des colonnes peut changer! Solution : imposer une largeur de colonne : >{\raggedright}m{75pt} Attention : le raggedright va justifier la colonne à gauche (pour justifier à droite, utiliser raggedleft)

Exemple:

\begin{supertabular}{>{\raggedright}m{75pt}l}
 $\boldsymbol x$             & Vecteur position des n{\oe}uds \\
 $\dot{\boldsymbol x}$       & Vecteur vitesse des n{\oe}uds\\
\end{supertabular}

Tableau à largeur de colonne fixée

Pour pouvoir utiliser \centering ou \raggedleft ou \raggedright dans la dernière colonne, il faut remplacer les \\ par \tabularnewline.

\begin{tabular}{|l|>{\centering}m{1.5cm}|>{\centering}m{1.5cm}|>{\centering}m{1.5cm}|>{\centering}m{1.5cm}|}
 \hline
                & \multicolumn{2}{c|}{Expérience}         & \multicolumn{2}{c|}{Metafor}   \tabularnewline
 \hline
 Vitesses       & $L\left(mm\right)$ & $D\left(mm\right)$ & $L\left(mm\right)$ & $D\left(mm\right)$ & \tabularnewline
 \hline
 $v_0 = 150m/s$ & 1 & 1 & 1 & 1  \tabularnewline
 $v_0 = 156m/s$ & 1 & 1 & 1 & 1  \tabularnewline
 $v_0 = 180m/s$ & 1 & 1 & 1 & 1  \tabularnewline
 $v_0 = 190m/s$ & 1 & 1 & 1 & 1  \tabularnewline
 \hline
\end{tabular}

Symboles mystérieux p,m,b

p{width} texte aligné verticalement au sommet de la ligne

m{width} texte aligné verticalement au milieu de la ligne

b{width} texte aligné verticalement au bas de la ligne

Augmenter la hauteur des lignes dans un tableau

  \begin{table}[htbp]
  \renewcommand{\arraystretch}{1.8}
  \begin{tabular}{|c|c|c|}

URLs et hypertexte

\href{mailto:r.boman@ulg.ac.be}{r.boman@ulg.ac.be}

http://freespace.virgin.net/peter.cooley/FAQ.htm

Mathématiques

Equations

\begin{equation} \label{eq:lab}
  x=\frac{X}{W}, \; y=\frac{Y}{W}, \; z=\frac{Z}{W}
\end{equation}

rem: tjs indenter la ligne ⇒ winedt réarrange pas le paragraphe.

\begin{equation}
\mbf{C} = \frac{\mbf{u}_{max} + \mbf{u}_{min}}{2}, \; \; R = \|
\mbf{u}_{max} - \mbf{u}_{min} \|, \; \; \mbf{O} = \mbf{C} + R
\left[
  \begin{array}{c}
    \cos \alpha   \\
    \sin \alpha
  \end{array} \right]
\end{equation}

Encadrer une équation

\begin{equation}
  \boxed{\kappa = 1 + \sqf{2}{3}
  \frac{1}{2G^*}\frac{d\sigma_{crit}}{d\Gamma}}
\end{equation}

Encadrer une équation sur plusieurs lignes avec le numéro de la formule pas encadré et bien centré avec le fond jaune

\begin{equation}
 \colorbox{yellow}{ \fbox{$
  \begin{array}{c}
   \left(1-\alpha_M\right) F^{inert,n+1} + \alpha_M F^{inert,n}
   + \left(1-\alpha_F\right) F^{int,n+1} + \alpha_F F^{int,n}\\
   = \left(1-\alpha_F\right) F^{ext,n+1} + \alpha_F F^{ext,n}
  \end{array}
 $}}
 \label{Eq:AlgoEquilibrePonderation}
\end{equation}

Symboles math

http://web.ift.uib.no/Fysisk/Teori/KURS/WRK/TeX/symALL.html

Texte

Polices

\usefont{T1}{phv}{m}{n}

http://julien.coron.free.fr/languages/latex/fonts/

Couleurs

\textcolor{red}{Ce texte est rouge}

Dans un tableau:

\usepackage{colortbl}
\columncolor[rgb]{0.8,0.8,0.8} % specifie la couleur de colonne
\rowcolor{black}               % specifie la couleur de ligne

Espace vertical supplémentaire

\vbox{\vspace{2cm}}

Mise en page

\documentclass[a4paper, 12pt]{report}

  \fancypagestyle{plain}{%uniquement pour les têtes de chapitre
   \fancyhead{} % clear all header fields
   \fancyfoot{} % clear all footer fields
   \fancyfoot[L]{\sf\scriptsize Rapport - Juillet 2007}
   \fancyfoot[R]{\sf\scriptsize \thepage}
   \renewcommand{\headrulewidth}{0pt} %épaisseur de la ligne supérieure
   \renewcommand{\footrulewidth}{0.4pt} %épaisseur de la ligne inférieure
  }
  \pagestyle{fancy} %pour les pas têtes de chapitre !!!Pas d'accolades, sinon ça merde
   \fancyhead{} % clear all header fields
   \fancyfoot{} % clear all footer fields
   \fancyfoot[L]{\sf\scriptsize Rapport - Juillet 2007}
   \fancyfoot[R]{\sf\scriptsize \thepage}
   \renewcommand{\headrulewidth}{0pt}
   \renewcommand{\footrulewidth}{0.4pt}
  \documentclass[a4paper, 12pt]{report}
  \fancypagestyle{plain}{%uniquement pour les têtes de chapitre
   \fancyhead{} % clear all header fields
   \fancyfoot{} % clear all footer fields
   \fancyhead[L]{\sf\scriptsize Rapport - Juillet 2007}
   \fancyhead[R]{\sf\scriptsize \thepage}
   \renewcommand{\headrulewidth}{0.4pt} %épaisseur de la ligne supérieure
   \renewcommand{\footrulewidth}{0pt} %épaisseur de la ligne inférieure
  }
  \pagestyle{fancy} %pour les pas têtes de chapitre !!!Pas d'accolades, sinon ça merde
   \fancyhead{} % clear all header fields
   \fancyfoot{} % clear all footer fields
   \fancyhead[L]{\sf\scriptsize Rapport - Juillet 2007}
   \fancyhead[R]{\sf\scriptsize \thepage}
   \renewcommand{\headrulewidth}{0.4pt}
   \renewcommand{\footrulewidth}{0pt}
  \fancypagestyle{plain}{%uniquement pour les têtes de chapitre
   \fancyhead{} % clear all header fields
   \fancyfoot{} % clear all footer fields
   \fancyhead[L]{}
   \fancyhead[R]{\sf\scriptsize \thepage}
   \renewcommand{\headrulewidth}{0pt} %épaisseur de la ligne supérieure
   \renewcommand{\footrulewidth}{0pt} %épaisseur de la ligne inférieure
  }
  \documentclass[a4paper, 12pt, twoside, openright]{report}
  \raggedbottom %Pour éviter les underfull \vbox dus à l'option twoside
  \newcommand{\clearemptydoublepage}{%
   \newpage{\pagestyle{empty}\cleardoublepage}}

Il ne reste plus qu'à ajouter avant chaque commande \chapter (et aussi avant la biblio, la table des matières et la liste des tableaux et figures) la commande \clearemptydoublepage. Les numéros de page se trouvent alors au centre en bas de la page (sauf sur les pages vides)

  \pagestyle{fancy}
  \headheight = 13pt %Pour avoir des headers assez grands
  
  %\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter. #1}{}} %\chaptername => le mot chapitre apparait
  \renewcommand{\chaptermark}[1]{\markboth{\thechapter. #1}{}}
  \renewcommand{\sectionmark}[1]{\markright{\thesection. #1}}
  \renewcommand{\headrulewidth}{0.4pt}
  
  \lhead[\fancyplain{}{\footnotesize\bfseries\thepage}]{\fancyplain{}{\footnotesize\bfseries\rightmark}}
  \rhead[\fancyplain{}{\footnotesize\bfseries\leftmark}]{\fancyplain{}{\footnotesize\bfseries\thepage}}
  \cfoot{}

Notes de bas de page

Pour forcer la note à être sur une seule page il faut rajouter un \samepage dans le \footnote{} :

bla bla \footnote{\samepage Bla bla bla.} bla.

Misc

  \begin{tabbing}
   Voici \= des \= marques \= de tabulation \\
   \> la je m'aligne sur la première \\
   \> \> \> la sur la troisième \\
   \hspace{3cm} \= \hspace{2cm} \= \kill
   un \> autre \> exemple.
  \end{tabbing}

Liens intéressants

http://www.grappa.univ-lille3.fr/FAQ-LaTeX/