Pour faciliter la lecture de vos rapports techniques, qui foisonnent toujours d’abréviations, il est bon de leur ajouter un glossaire. Ci-dessous, un exemple de document LaTeX avec glossaire. Notez que le chapitre de glossaire n’est pas numéroté (\chapter*) mais apparaît dans la table des matières (\addcontentsline{toc}{chapter}{Glossary}).
-
\makeglossary
-
\begin{document}
-
-
Ce site est fait en PHP\glossary{[PHP] PHP Hypertext Preprocessor}.
-
-
%%%%%%%%%%%
-
%debut du glossaire%
-
%%%%%%%%%%%
-
-
\chapter*{Glossary}\label{glossary}\addcontentsline{toc}{chapter}{Glossary}
-
-
\begin{itemize}
-
\input{Glossary}
-
\end{itemize}
-
\end{document}
Ci-dessous, un script que vous pouvez ajouter à TexShop (MacOSX) pour générer le glossaire proprement. Cliquez sur Macros>Open Macros Editor. Choisissez “New Item” et copiez le script ci-dessous. Associez-lui un raccourci clavier pour régénérer le glossaire rapidement. Pour obtenir le glossaire dans votre pdf, voici la marche à suivre : compilez vos fichiers .tex, compilez votre glossaire et recompilez vos .tex.
-
–AppleScript direct
-
-
set fileName to #NAMEPATH#
-
set n to (number of characters of contents of fileName)
-
set fileNamequoted to quoted form of fileName
-
set baseName to do shell script "basename " & fileNamequoted
-
set m to (number of characters of contents of baseName)
-
set dirName to quoted form of (characters 1 thru (n-m-1) of fileName as string)
-
-
set shellScript to "cd " & dirName & ";"
-
set shellScript to shellScript & "./script.sh;"
-
do shell script shellScript
Notez que le script ci-dessus nécessite la présence d’un fichier “script.sh” dans le dossier contenant vos fichiers .tex. Ce fichier utilise le script PERL “writeglossary.prl” (ci-dessous) pour générer une liste d’items LaTeX à partir des données du glossaire. Il trie ensuite les entrées dans l’ordre alphabétique et élimine les doublons. Pensez à remplacer “Paper.glo” dans le script ci-dessous par ‘Nom de votre fichier’.glo.
-
#!/bin/tcsh
-
perl writeglossary.prl Paper.glo > Glossary.tmp
-
#perl script.pl
-
perl -e ‘while(<>) {push @lines, $_;}warn "\nSorted $. lines in ascending alphabetical order, ignoring case\n\n";print sort {lc($a) cmp lc($b)}@lines’ Glossary.tmp > Glossary.tex
Et voilà le fichier “writeglossary.prl”:
-
# Simple perl script for converting glossary data (*.glo) files produced by
-
# Latex and converting them to a form suitable for including
-
# as a Glossary.tex file in a report.
-
#
-
# To use: perl writeglossary.prl filename.glo > Glossary.tex
-
# Then, in your Latex report file, set up a "description" environment using \begin{description}
-
# and use \input{Glossary} to import the formatted glossary items.
-
# (See me310report.tex for example.)
-
#
-
# Started 2 August 2006 -mrc
-
# Note: Macs and Linux usually have perl installed by default. On Windows you might need
-
# to install it or else use Visual Basic or simply use find/replace in MS Word to
-
# accomplish the same string replacements as done by this perl script.
-
-
############
-
# Main loop: keep reading new lines until end of file.
-
# Next line always goes into $_ and pattern matching is done
-
# on $_ by default.
-
line: while (<>) {
-
-
# Replace any instance of "glossaryentry{" with "item " on every line.
-
# /g is for global matching (as many times as applies)
-
s/glossaryentry
{/item /g;
-
-
#Then take what comes before "}" and throw away the rest.
-
if(/}/){
-
$_ = $`;
-
}
-
-
#Append a newline and print to the output.
-
-
-
} # end while(<>)
December 8th, 2007 | Tags: LaTeX |
Category:
Articles en français,
Tech >> Computer |
Comments (5)