Je n’utilise plus beaucoup LaTeX directement, car je le génère la plupart du temps à partir de txt2tags Voilà néanmoins quelques astuces collectées au fil du temps, et d’autres qui restent utiles pour configurer les styles afin de produire de jolis documents.
Référence sur des énumérations hiérarchiques
\newcommand{\labelenumo}{\thesection.}
\renewcommand\theenumi{\arabic{enumi}}
\renewcommand\labelenumi{\labelenumo\theenumi.}
\renewcommand\p@enumi{\labelenumo}
même chose avec enumii
, enumiii
, enumiv
.
On peut aussi mettre ça dans la définition d’un nouvel environnement si on
souhaite garder la possibilité de faire appel à la version par défaut de
enumerate
.
Définir une macro avec l’argument d’une autre macro
L’objectif est de pourvoir faire \motcle{toto}
,
qui écrit toto
, met toto
dans l’indexe et définit la commande \toto
Solution 1
Une première solution :
\makeatletter
\newcommand{\motcle}[1]
{\index{#1}{\textbf #1}\@namedef{#1}{\textit #1}}
\makeatother
Mais c’est du TeX, et donc pas très robuste. On pourra par exemple définir
plusieurs fois le même mot clé, et \motcle{def}
fait planter la compilation…
En fait, la définition de \@namedef
est :
\expandafter \def \csname #1\endcsname
Solution 2
Une autre solution :
\newcommand{\motcle}[1]{%
\index{#1} \textbf{#1}%
\expandafter \newcommand \expandafter *\csname #1\endcsname
{\textit{#1}}%
}
mais attention, elle définit la commande localement. Une amélioration est donc :
\newcommand*{\motcle}[1]{%
\index{#1} \textbf{#1}%
\expandafter \@ifdefinable \csname #1\endcsname {%
\global \@namedef{#1}{\textit{#1}}%
}%
}
Pour commencer une énumération à un certain numéro
\begin{enumerate}[C1. ]
\setcounter{enumi}{10}
\item onzième élément ie. C11.
\end{enumerate}
Pour que le texte fasse le tour des images
Il faut utiliser le package picins
.
Recherche récursive avec TEXINPUTS
Pour que LaTeX recherche les fichiers de style récursivement dans un répertoire,
il faut juste terminer son nom par //
dans la variable TEXINPUTS
.
Par exemple :
export TEXINPUTS=.:$HOME/latex/inputs//:/usr/local/lib/hevea:
permet de chercher dans $HOME/latex/inputs
et ses sous-répertoires.
Pour décrire des touches et des menus
Lors de la rédaction d’un manuel utilisateur pour un outil ayant une interface graphique, il est souvent utile de décrire des menus ou des raccourcis clavier. Le package menukeys propose plusieurs commandes pour faire ce genre de choses.
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit