Retour à la page principale


Accueil

Extraits

Nous contacter


Annales des Concours

20 Dissertations

Technique et Pratique

Mathématiques pour la physique

Objectif Agrégation

Le sujet de synthèse par l'exemple


Retour à la page d'accueil du livre



Trucs et astuces



Cette page a pour objet de rassembler des astuces trouvées ou créées par les auteurs de LaTeX pour l'impatient, afin d'étendre les possibilités de LaTeX. Voici les thèmes traités sur cette page:

Des majuscules droites en mode maths

Par défaut, LaTeX utilise des majuscules penchées en mode maths. C'est la convention anglaise. En français, les majuscules sont supposées être droites. On peut composer \text{A} ou \mathrm{A} à chaque occurrence, mais cela devient vite pénible. À la place, autant dire à LaTeX d'utiliser des majuscules droites en mode maths ! Il suffit pour cela de copier-coller dans votre fichier .tex (ou, encore mieux, dans votre fichier .sty maison) le code ci-dessous.

\mathcode`A="7041 \mathcode`B="7042 \mathcode`C="7043 \mathcode`D="7044 \mathcode`E="7045 \mathcode`F="7046 \mathcode`G="7047 \mathcode`H="7048 \mathcode`I="7049 \mathcode`J="704A \mathcode`K="704B \mathcode`L="704C \mathcode`M="704D \mathcode`N="704E \mathcode`O="704F \mathcode`P="7050 \mathcode`Q="7051 \mathcode`R="7052 \mathcode`S="7053 \mathcode`T="7054 \mathcode`U="7055 \mathcode`V="7056 \mathcode`W="7057 \mathcode`X="7058 \mathcode`Y="7059 \mathcode`Z="705A

Des chiffres entourés

Il arrive souvent de vouloir entourer des chiffres: les symboles "pifont" servent à cela: \ding{172} à 181 pour des chiffres blancs entourés de 1 à 10, et 182 à 191 pour les mêmes sur fond noir.
Mais ce n'est pas toujours suffisant, par exemple pour utiliser des compteurs. Dans ce cas, utilisez \textcircled:
\renewcommand{\labelenumi}{\textcircled{\theenumi}}
que vous pouvez modifier afin de régler plus finement l'alignement des chiffres. Voici des valeurs correctes pour les petits chiffres:
\textcircled{\raisebox{-0.9pt}{\hspace*{0.7pt}\theenumi}}


Des titres de section différents dans les titres courants et la table des matière

LaTeX permet de fournir un argument optionnel aux commandes de sectionnement; cet argument sera le titre effectivement affiché dans le titre courant et dans la table des matières. Par exemple,
\section[titre courant et titre de la tdm]{titre dans le document}
Le problème est qu'on ne peut pas donner deux options différentes: l'une pour le titre courant et l'autre pour la table des matières. Le code suivant placé dans le préambule de votre document permet de contourner ce problème, pour pouvoir cette fois écrire:
\section[titre courant et titre de la tdm]{titre dans le document}
\section[titre courant][titre de la tdm]{titre dans le document}
Voici le code de la commande:
\makeatletter

% Nouvelle définition de \@sect pour accepter un argument optionnel
% supplémentaire.
\def\@sect#1#2#3#4#5#6[#7]{%
    \@ifnextchar[%]
        {\@sectnew{#1}{#2}{#3}{#4}{#5}{#6}[#7]}%
        {\@sectprevious{#1}{#2}{#3}{#4}{#5}{#6}[#7]}%
}

% L'ancienne \@sect rebaptisée \@sectprevious.
\def\@sectprevious#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
        \@hangfrom{\hskip #3\relax\@svsec}%
          \interlinepenalty \@M #8\@@par}%
    \endgroup
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
      \fi
      #7}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
        #7}}%
  \fi
  \@xsect{#5}}

% La nouvelle \@sect baptisée \@sectnew pour traiter les doubles arguments
% optionnels.
\def\@sectnew#1#2#3#4#5#6[#7][#8]#9{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
        \@hangfrom{\hskip #3\relax\@svsec}%
          \interlinepenalty \@M #9\@@par}%
    \endgroup
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname}%
      \fi
      #8}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #9}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname}%
        \fi
        #8}}%
  \fi
  \@xsect{#5}}

\makeatother


Des symboles mathématiques de différentes hauteurs présentés joliment

Si vous écrivez «bêtement» la formule suivante
$\sqrt{A}-\sqrt{a}$
le resultat n'est pas joli: . La bonne solution est d'écrire
$\mathstrut\sqrt{A}-\sqrt{a}$
qui aligne les barres des racines carrées: .