IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > LaTeX > LaTeX avancé
        Comment inclure un fichier ?
        Puis-je faire mon propre compteur ?
        Comment définir ma propre commande ?
        Comment redéfinir une fonction déjà existante ?
        Comment inclure des fichiers pdf dans mon tex ?
        Comment définir ses propres couleurs ?
        Comment installer un package LaTeX ?
        Où installer un package LaTeX manuellement ?
        Comment modifier le format ou le style d'une section, subsection ... ?
        Comment ajouter du contenu et exécuter des commandes dans la table des matières (et autres listes) ?



Comment inclure un fichier ?
auteurs : Ashgenesis, Jean-Marc.Bourquet
Pour inclure un fichier, plusieurs manières de faire:

La commande \input{fichier} : remplace par le contenu de fichier.tex. Fichier peut lui-meme inclure une commande \input.

La commande \include{fichier} : insère fichier.tex ou sa version pré-compilée. Le fichier ne sera recompilé s'il n'a pas été modifié depuis la dernière compilation. \include ne peut apparaître dans l'en-tête, et le texte inséré doit former un ensemble de pages indépendantes.

La commande \includeonly{fichier1, fichier2, ...} : placée dans l'en-tête, restreint la liste des fichiers insérés à l'aide de la commande \include. Les fichiers absents de la liste ne seront pas remis à jour même s'ils ont été modifiés depuis la dernière compilation.

Il n'y a pas de version pre-compilee, tout les fichiers inclus sont toujours completement recompiles. Ce qui se passe avec includeonly, c'est que les fichiers auxilliaires qui servent pour les references, tables des matieres, etc sont charges pour toutes les sources specifiees par \include, mais seules les sources aussi donnees dans \includeonly s'il y en a un sont recompilees.


Puis-je faire mon propre compteur ?
auteur : Romain Tartière (Smortex)
Naturellement !

Pour déclarrer un compteur :
Exemple

\newcompteur{NomDuCompteur} 
Pour l'incrémenter :
Exemple

\addtocounter{NomDuCompteur}{Valeur} 
Pour l'utiliser, selon la représentation que l'on veut, on utilisera l'une des commandes suivantes :
Exemple

\arabic{NomDuCompteur}
\arabic{NomDuCompteur}
\Alph{NomDuCompteur}
\alph{NomDuCompteur}
\Roman{NomDuCompteur}
\roman{NomDuCompteur} 
On peut utiliser ces commandes dans d'autres commandes, exemple :
Exemple

\newcounter{tata} 

% \ph command
% Insert the next picture here !
\newcommand{\ph}[1]{%
\addtocounter{tata}{1}%
\begin{center}
\noindent \includegraphics[width=#1]{images/\arabic{tata}.eps}%
\end{center}
} 

Comment définir ma propre commande ?
auteur : ghostdogpr
Il faut utiliser la commande \newcommand:
Exemple

\newcommand{MaCommande}[NbArg]{Def}
  • MaCommande : nom par lequel vous appelerez votre commande
  • NbArg : nombre d'arguments (0~9)
  • Def : contenu de votre fonction. Il faut utiliser #1 pour appeler l'argument 1, #2 pour le 2, etc
Exemple :
Exemple

\newcommand{\MonTitre}[1]{\textbf{#1} \vspace{0.2cm} \hrule \vspace{1cm}}
vous permettra d'avoir un titre en gras avec une hrule au simple appel de \MonTitre{toto}.


Comment redéfinir une fonction déjà existante ?
auteur : ghostdogpr
Il suffit d'utiliser la commande \renewcommand de la meme manière que \newcommand.


Comment inclure des fichiers pdf dans mon tex ?
auteur : Konrad Florczak
En utilisant le package pdfpages

Ceci n'est valable que pour le pdfLATEX, il permet d'inclure des fichiers pdf dans votre document final. Pour ce faire il suffit simplement d'inclure dans votre document le package pdfpages et de taper dans votre éditeur.
Exemple

\includepdf[pages=-]{votre_fichier} 
les options d'insertion sont variées, par exemple l'option [pages=-] veut dire : insertion de toutes les pages contenues dans le pdf.


Comment définir ses propres couleurs ?
auteur : Konrad Florczak
Voici les principale couleur à définir dans un fichier .tex tout ce qu'il faut faire ensuite c'est :

  • Le definir en tant que nouvelles commandes pour chaque couleur: \definecolor{orange}{rgb}{1.00,0.50,0.00}
  • Sauvegarder le fichier tex en couleurs.tex
  • Inserez le dans les déclarations avant le \begin{document} comme ceci: \input{couleurs.tex}
Exemple

\textcolor[rgb]{1.00,1.00,1.00}{blanc}
\textcolor[rgb]{1.00,1.00,0.00}{jaune}
\textcolor[rgb]{1.00,0.50,0.00}{orange}
\textcolor[rgb]{1.00,0.00,0.00}{rouge}
\textcolor[rgb]{0.00,1.00,0.00}{vert clair}
\textcolor[rgb]{0.00,0.50,0.00}{vert sombre}
\textcolor[rgb]{0.00,1.00,1.00}{cyan}
\textcolor[rgb]{0.00,0.00,1.00}{bleu}
\textcolor[rgb]{0.00,0.00,0.50}{bleu foncé}
\textcolor[rgb]{0.50,0.00,0.50}{violet}
\textcolor[rgb]{0.50,0.25,0.00}{marron clair}
\textcolor[rgb]{0.26,0.13,0.00}{marron sombre}
\textcolor[rgb]{0.75,0.75,0.75}{gris clair}
\textcolor[rgb]{0.50,0.50,0.50}{gris}
\textcolor[rgb]{0.00,0.00,0.00}{noir}

Comment installer un package LaTeX ?
auteurs : Le Barde, Reecht Yves
La communauté des utilisateurs de LaTeX a développé une grande quantité de packages. La plupart de ceux-ci se trouvent sur le site http://www.ctan.org. Certaines distributions LaTeX, comme MikTeX, permettent l'installation automatique de packages, mais la plupart ne proposent pas cette fonctionnalité.

Voici la marche à suivre pour installer un package manuellement (dans le cas classique) :

Dans ce qui suit, l'emplacement $TEXMFLOCAL peut être remplacé par $TEXMFHOME selon la porté choisie. Pour plus d'information à ce propos, consulter Où installer un package LaTeX manuellement ?

1. Télécharger et décompresser le paquet (sur http://www.ctan.org par exemple) ;
2. Sous Linux, faire :
Exemple

sudo cp -r mon_répertoire_paquet/ $TEXMFLOCAL/tex/latex/
Sous Windows, copier le paquet dans le répertoire :
Exemple

TEXMFLOCAL/tex/latex/
3. Aller dans ce répertoire ; s'il y a un makefile, entrer la commande
Exemple

make
4. Sous Linux, taper ensuite :
Exemple

sudo texhash
Sous Windows :
Exemple

texhash
Le paquet est alors installé et est utilisable par la commande \usepackage{}.

Remarque :

Parfois les packages sont donnés sans makefiles et contiennent sont accompagnés uniquement de deux fichiers fichier.ins et fichier.dtx.

Dans ce cas, des étapes de compilation supplémentaires sont nécessaires (elles doivent être faites avant la copie vers l'arborescence de la distribution) :
Exemple

$ latex fichier.ins
pour créer le fichier fichier.sty, puis :
Exemple

$ latex fichier.dtx
Note : $TEXMFLOCAL et $TEXMFHOME correspondent aux localisations (chemin) de différentes arborescences utilisables par la distribution LaTeX. Pour connaître leurs différences et savoir où les trouver, se référer à Où installer un package LaTeX manuellement ?


Où installer un package LaTeX manuellement ?
auteur : Reecht Yves
Les packages peuvent être ajoutés manuellement - au choix - dans 2 arborescences distinctes, en fonction de la portée mono- ou multi-utilisateur(s) - désirée:

  • TEXMFLOCAL : l'arborescence locale multi-utilisateurs. Les fichier qu'elle contient sont utilisables par plusieurs utilisateurs de la machine.
  • TEXMFHOME : l'arborescence utilisateur (apparemment pas disponible sous MiKTeX). Elle permet notamment aux utilisateurs ayant des droits d'écriture restreints d'installer des packages personnels. Elle doit donc se situer dans un répertoire où l'utilisateur a le droit d'écrire.
Voyons maintenant où les trouver (ou bien les définir) pour les deux principales distributions de LaTeX.

TeXLive (sous GNU/Linux, ici une Ubuntu 8.04, sans doute valable pour d'autres distributions) :

Les définitions des différentes arborescences de la distribution LaTeX peuvent être trouvées dans le fichier

/etc/texmf/texmf.cnf 
Certaines arborescences ne devraient pas être modifiées manuellement (elle sont plutôt destinées au(x) gestionnaire(s) de paquets), il s'agit des arborescences $TEXMFMAIN (= /usr/share/texmf) et $TEXMFDIST (= /usr/share/texmf-texlive)

Deux possibilités se présentent alors :

1. Pour une installation multi-utilisateurs (privilèges super-utilisateur requis), les fichiers doivent être placés dans

$TEXMFLOCAL (= /usr/local/share/texmf) 
Si cette arborescence n'existe pas, la créer avec la commande (dans un terminal):

$ sudo mkdir /usr/local/share/texmf
Pour la suite des opérations voir : faq Comment installer un package LaTeX ?

2. Pour une installation mono-utilisateur (pas de privilège super-utilisateur requis), les fichiers doivent être placés dans

$TEXMFHOME (= $HOME/texmf) 
De même si le dossier n'existe pas, lancer dans un terminal :

$ mkdir $HOME/texmf
Note 1 : lors de l'installation des fichiers dans $TEXMFHOME, ne pas faire précéder la commande de copie (cp) de sudo.

Note 2 : Il n'est pas nécessaire dans ce dernier cas d'exécuter la commande texhash pour compléter l'installation. Il n'y a en principe pas de base de donnée des fichiers présents qui soit maintenue pour cette arborescence (voir la définition de la variable $TEXMFDBS dans le fichier texmf.cnf). Celle-ci est donc parcourue récursivement avant chaque compilation... et il est donc déconseillé d'y installer de trop nombreux dossiers et fichiers.

Pour TeXLive sous Windows, le principe est le même. Les emplacements des différentes arborescences peuvent être trouvés dans le fichier

[dossier d'installation]\texmf-var\web2c\texmf.cnf 
Dans celui-ci, la variable $SELFAUTOPARENT représente le dossier où la distribution est installée (e.g. C:\LaTeX)


MiKTeX (Windows) :

Seule l'arborescence correspondant à $TEXMFDIST (arborescence de la distribution) est installée par défaut. Elle se trouve par exemple dans

C:\Program Files\Miktex 2.7\ 
Attention ! Contrairement à ce qui est souvent proposé sur les forums, il est déconseillé d'y installer des packages/modèles/feuilles de style manuellement : ils risquent d'être perdus lors de mises à jour.

Une bonne façon de procéder est de définir au préalable une arborescence locale ($TEXMFLOCAL)

dans le menu démarrer: Settings > onglet Roots > Add... 
dans laquelle seront copiés les fichiers.

De même qu'avec TeXLive, se référer ensuite à faq Comment installer un package LaTeX ? pour l'installation proprement dite.


Comment modifier le format ou le style d'une section, subsection ... ?
auteur : Germain Salvato Vallverdu
  • Avec le package titlesec
Ce qui suit utilise le package titlesec, il faut donc mettre dans le préambule la ligne suivante : \usepackage{titlesec}

  • Modification simple
Si l'on souhaite juste modifier le format des sections (mettre en gras, en italique en couleur ect ...) sans modifier les espacements avant ou après le titre ou encore la position (centrée, à droite ect ...) il suffit de rajouter dans le préambule :
Modification simple du format

\titleformat*{commande}{format}

% par exemple pour mettre en gras les sections et en italique les subsections
\titleformat*{\section}{\bfseries}
\titleformat*{\subsection}{\itshape}
  • Modification avancée
Pour modifier de manière plus importante les sections, on va utiliser les commandes \titleformat et titlespacing*. La première permet de modifier le format, la position et d'ajouter des éléments autour des sections. La seconde permet de gérer l'espacement avant et après une section.
Syntaxe générale de \titleformat

\titleformat{ command }[ shape ]{ format }{ label }{ sep }{ before }[ after ]
  • command est la section que l'on veut redéfinir : \part, \chapter, \section, \subsection ...
  • La forme du paragraphe qui contient le titre de la section est donné par shape. Il faut se référer au en manuel pour connaître les formes disponnibles. La forme classique est hang, la forme block permet entre autre de centrer les sections et runin permet de faire des section sans passer à la ligne. Il en existe d'autre, allez voir le en manuel
  • format est le format à appliquer à l'ensemble du titre et du label.
  • Le label est définit dans label on peut le laisser vide si on ne veut pas numéroter mais cela ne supprime pas la numérotation dans la table des matières.
  • sep est la distance qui sépare le label et le titre. Elle doit être donnée (mettre 0 si on ne veut pas de séparation) et dans une unité connu par latex. Son comportement peut varier selon shape.
  • before C'est le code qui précède le titre.
  • after c'est le code qui suit le titre.
Voici un exemple simple qui modifie les sections. Il utilise la forme block, les sections sont centrées, en gras et le label est en italique et encadré :
exemples

\titleformat{\section}[block]{\normalfont\bfseries\filcenter}{\fbox{\itshape\thesection}}{1em}{}
Le en manuel fournit beaucoup d'exemples.
Syntaxe et exemple de titlespacing*

% syntaxe
\titlespacing*{ command }{ marge à gauche }{ espace avant }{ espace après }[ marge à droite ]
     % la marge à droite est facultative et dépend de la forme choisie dans titleformat
     % l'espace après est vertical ou horizontal suivant la forme choisie dans titleformat

% exemple
\titlespacing*{\section}{\parindent}{*2}{\wordsep}
  • Utilisation d'une macro au lieu du package titlesec
On peut utiliser une macro dans le préambule pour modifier le style des sections. Voici une explication rapide vous pourrez trouvez une explication plus détaillée fr ici :
Macro pour modifier les styles des sections

%%% explication
\renewcommand\nom_section{ en debut de section {nom_section} {niveau table des matières} {indentation}%
     {espace avant}
     {espace après}
     {format}

%%%% début macro modification des sections %%%%
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                     {-3.5ex \@plus -1ex \@minus -.2ex}%
                     {2.3ex \@plus.2ex}%
                     {\normalfont\Large\bfseries\color{DarkBlue}}}

\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                     {1.5ex \@plus .2ex}%
                     {\normalfont\large\bfseries\color{DarkBlue}}}

\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                     {1.5ex \@plus .2ex}%
                     {\normalfont\normalsize\bfseries\color{DarkBlue}}}

\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                     {3.25ex \@plus1ex \@minus.2ex}%
                     {-1em}%
                     {\normalfont\normalsize\bfseries\color{DarkBlue}}}

\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
                     {3.25ex \@plus1ex \@minus .2ex}%
                     {-1em}%
                     {\normalfont\normalsize\bfseries\color{DarkBlue}}}
\makeatother
%%%% fin macro %%%%

Comment ajouter du contenu et exécuter des commandes dans la table des matières (et autres listes) ?
auteur : Reecht Yves
Il peut être intéressant parfois d'ajouter un contenu ou des commandes de formatage ponctuel(les) dans la table des matières (mais également dans une liste des figure ou des tableaux).

La commande pour ajouter quelque chose à la table des matières (TDM) est

\addtocontents{toc}{Le contenu à ajouter à la table des matières}
Si le contenu inclue des commandes, il faut dans la plupart des cas les protéger afin qu'elles ne soient pas évaluées avant d'être ajoutées dans le fichier .toc.

\addtocontents{toc}{\protect\commande_à_protéger}
Exemples:
1. Ajouter un saut de page dans la TDM, avant une section donnée

\addtocontents{toc}{\protect\newpage}

\section{Une section}
2. Ajouter un filet dans la TDM avant une section (oui, il y a des risques que ce soit moche, mais c'est pour l'exemple !)

\addtocontents{toc}{\protect\noindent
  \protect\rule{\linewidth}{1pt}}

\addtocontents{toc}{}   % Pour la classe article

\section{Une autre section}
Notez bien que chaque commande est protégée.


Voyons maintenant deux exemple un peu particulier puisqu'ils ont un effet sur l'ensemble de la TDM.

A. Vous souhaitez supprimer la numérotation dans la TDM, mais sans redéfinir le style de page plain à l'aide du package fancyhdr ?
Il suffit d'appliquer le style de page empty à la TDM en ajoutant dans le préambule :

\addtocontents{toc}{%
\protect\thispagestyle{empty}%
\protect\pagestyle{empty}}
Il peut également être nécessaire d'ajouter dans le corps de texte (à vous de voir si votre mise en page est correcte sans...)

\pagestyle{empty}
\tableofcontents{}
B. Ce n'est pas parce que l'on compose en interligne 2 ou bien avec d'importants sauts de paragraphe que l'on apprécie forcément d'avoir une TDM très aérée qui s'étale sur 3 pages. L'espace inter-ligne et les sauts de paragraphe peuvent donc être réduits en ajoutant dans le préambule :

  \addtocontents{toc}{%
  \protect\setlength{\baselineskip}{1.5em}   % espace entre les lignes
  \protect\setlength{\parskip}{0pt}}         % sauts de paragraphe
Remarques importantes :

Pour ajouter un contenu explicite (filet, texte,...) avant une commande de sectionnement dont la définition n'utilise pas \@startsection, c-à-d part et section pour la classe article et part et chapter pour les classes report et book, il est nécessaire de faire précéder l'entrée dans la TDM par une ligne vide (cf. exemple 2.) :

\addtocontents{toc}{Texte}   % Contenu explicite 
\addtocontents{toc}{}        % Ligne vide
\part{...}                   % Section
Les exemples précédents peuvent être très facilement adaptés à la liste des figures ou des tableaux en remplaçant simplement toc respectivement par lof et lot.

\addtocontents{lof}{Et maintenant une figure dont je suis particulièrement fier:}

\begin{figure}[h]
   ...
Pour modifier globalement la police où la couleur des entrées de la table, il est préférable d'utiliser le package titletoc.

Ne pas utiliser cette méthode pour ajouter une entrée à la table : il existe pour cela une commande dédiée

\addcontentsline{toc}{section}{Introduction non numérotée}


Consultez les autres F.A.Q's


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.