Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


devel:misc:latex

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/} }
  • 1 figure:
\begin{figure}[htbp]
   \centerline{ \includegraphics[width=1.0\textwidth]{misc-exceptions} }
   \caption{Graphique.}
   \label{ass06:fig:misc-exceptions}
\end{figure}
  • 2 figures:
\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''

  • Mauvais espaces/coupures:

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

  • \tt + pdf:
\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

  • simple:
\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.

  • equations+array:
\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

Texte

Polices

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

  • Document avec une ligne en bas de chaque page et un commentaire + le numéro de page. Le numéro de page se trouve chaque fois à droite.

\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}
  • Document avec la même chose mais en haut des pages
  \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}
  • Document avec une ligne en haut de chaque page et un commentaire + le numéro de page. Le numéro de page se trouve chaque fois à droite. Mais on ne veut rien sur les pages de titre de chapitre : on supprime la partie \fancypagestyle{plain}. A ce moment, les numéros de page sur les pages de chapitre sont mis en bas et centrés. Pour les mettre en haut à droite (sans ligne), mettre:
  \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
  }
  • Document avec une ligne en haut, mais avec alternativement les numéros de pages à gauche ou à droite (format livre) et les chapitres sont toujours ouverts sur la page de droite.
  \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)

  • Document avec le nom des chapitres sur la page de gauche (à droite) et le nom des sections sur la page de droite (à gauche) et les numéros de page à gauche sur la page de gauche et à droite sur la page droite. Dans l'exemple, les hauts de pages sont en gras et en footnotesize.
  \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

  • itemize+babel français ⇒ mettre une ligne blanche avant et après le bloc itemize sinon, le paragraphe suivant est mal indenté!
  • {\tt texte} == \texttt{texte}
  • Surlignage de texte : \usepackage{color} et \colorbox{yellow}{Nounours}. Couleurs disponibles : black, white, red, green, blue, cyan, magenta, yellow
  • tabulations : Exemple :
  \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

devel/misc/latex.txt · Last modified: 2016/03/30 15:23 (external edit)