Index multiple LaTeX

Publié : 28.08.2007 - 16h14 par papyrus

Bonjour,

problème d'index multiples pour un ouvrage du type botanique à savoir :
- un index de noms en français;
- un index de noms scientifiques avec entrée en italique mais références page en romain.

ECM partiel pour un index unique

Code : Tout sélectionner

\usepackage{ifthen}
\newcommand*{\species}[2][]{\textit{#2}\ifthenelse{\equal{#1}{}}{}{~\textrm{#1}}}
\newcommand*{\sectionSubTitle}[1]{\begin{center}\noindent#1\end{center}\par}

\usepackage{makeidx}
\makeindex
\renewcommand{\seename}{voir}

\begin{document}
\sectionSubTitle{\species[Mill.]{Prunus amygdalus dulcis}}
\index{Prunus!amygdalus dulcis}

\sectionSubTitle{\species[L.]{Artemisia absinthium, vulgaris}}
\index{Artemisia!absinthium}
\index{Artemisia!vulgaris}
%%% Peut-on simplifier pour avoir le même résultat?

\sectionSubTitle{\species[Desf.]{Balsamita major}}
\index{Balsamita major}
\index{Tanacetum balsamita|see{Balsamita major}}
\index{Chrysanthemum balsamita|see{Balsamita major}}
... ... ... ... ... ...
\printindex
\end{document}


Après une compilation LaTeX, suivi d'une MakeIndex et d'une re-LaTeX, mon index unique apparaît, mais évidemment pas en italique.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Pour un index multiple, là Problème

ECM partiel pour index multiples

Code : Tout sélectionner

\usepackage{ifthen}
\newcommand*{\species}[2][]{\textit{#2}\ifthenelse{\equal{#1}{}}{}{~\textrm{#1}}}
\newcommand*{\sectionSubTitle}[1]{\begin{center}\noindent#1\end{center}\par}

\usepackage{makeidx}
\usepackage{multind}
\makeindex{Vernaculaire}
\makeindex{Latin}
\renewcommand{\seename}{voir}

\begin{document}

\section{Huile d'amandes douces}
\index{Vernaculaire}{Amande}

\sectionSubTitle{\species[Mill.]{Prunus amygdalus dulcis}}
\index{Latin}{Prunus!amygdalus dulcis}
... ... ... ... ... ...

\printindex{Vernaculaire}{Noms français}
\printindex{Latin}{Noms scientifiques}

\end{document}


La première compilation LaTeX est ok.
Précision, elle fait bien les fichiers Vernaculaire.idx et Latin.idx et dans le pdf les titres des 2 index apparaissent. Évidemment il me signale un No file Vernaculaire.ind et No file Latin.ind ce qui doit être fait avec MakeIndex.

Mais celle de MakeIndex me signale

Code : Tout sélectionner

Couldn't find input index file Sans-titre nor Sans-titre.idx.
Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0
idx1 ...]


Normal qu'il ne trouve pas Sans-titre.idx puisque ce n'est pas ce qu'il a été demandé lors de la première compilation.
Il lui faut trouver les fichiers Vernaculaire.idx et Latin.idx pour qu'il produise les fichiers Vernaculaire.ind et Latin.ind.
Dans TeXShop, je ne sais pas où mettre une ligne de commande avec des changements dans la syntaxe des options pour MakeIndex. :cry:

Que se passe t'il exactement? Et que faire?

Merci pour toute aide et explications et simplifications.


Publié : 28.08.2007 - 18h32 par Leo_11

Je ne sais pas… mais pourquoi ne poses-tu pas tes questions sur le topic dédié ???


Publié : 28.08.2007 - 19h42 par papyrus

je ne savais même pas qu'il existait
merci :roll:


Publié : 28.08.2007 - 22h17 par papyrus

Leo_11 a écrit :Je ne sais pas… mais pourquoi ne poses-tu pas tes questions sur le topic dédié ???
Je viens de le poster dans Zone programmation, hors de ce topic qui devient trop long à parcourir mais intéressant. :wink:

Que le modérateur n’hésite pas a tout déplacé ou supprimé ce qu'il faut.


Suggestion
Il serait peut être judicieux d'envisager un forum dedié LaTeX, et d'y regrouper les différents topics des différents forums.
Cela faciliterait les recherches.


Publié : 29.08.2007 - 9h27 par glimind

papyrus a écrit :Suggestion
Il serait peut être judicieux d'envisager un forum dedié LaTeX, et d'y regrouper les différents topics des différents forums.
Cela faciliterait les recherches.


+1


Publié : 29.08.2007 - 10h06 par Franck Pastor

Pour ma part, je n'ai rien trouvé de mieux que passer par le terminal pour faire les index ! TeXShop n'est apparemment pas très doué pour ça.


Publié : 29.08.2007 - 10h54 par Fabien

papyrus a écrit :Que le modérateur n’hésite pas a tout déplacé ou supprimé ce qu'il faut.


C'est fait.


Publié : 29.08.2007 - 16h03 par papyrus

Franck Pastor a écrit :Pour ma part, je n'ai rien trouvé de mieux que passer par le terminal pour faire les index ! TeXShop n'est apparemment pas très doué pour ça.


Franck, pourrais tu donner la marche à suivre, le terminal ne m'effraie pas :roll:


Publié : 29.08.2007 - 16h41 par Franck Pastor

Et bien donc, via le Terminal, après t'être chargé dans le répertoire courant,

Code : Tout sélectionner

makeindex Vernaculaire.idx Latin.idx

devrait suffire.


Publié : 29.08.2007 - 16h57 par Franck Pastor

glimind a écrit :
papyrus a écrit :Suggestion
Il serait peut être judicieux d'envisager un forum dedié LaTeX, et d'y regrouper les différents topics des différents forums.
Cela faciliterait les recherches.


+1

+1 idem


Publié : 29.08.2007 - 17h42 par Leo_11

papyrus a écrit :Suggestion
Il serait peut être judicieux d'envisager un forum dedié LaTeX, et d'y regrouper les différents topics des différents forums.
Cela faciliterait les recherches.


VVVIIIII 'faut faire ça


Publié : 29.08.2007 - 18h20 par papyrus

Franck Pastor a écrit :Et bien donc, via le Terminal, après t'être chargé dans le répertoire courant,

Code : Tout sélectionner

makeindex Vernaculaire.idx Latin.idx

devrait suffire.
Il ne produit qu'un index unique Vernaculaire.ind c'est à dire avec ce qui devrait se trouver dans Latin.ind.

Donc je le fait en deux fois pour que tout soit correct, dès que possible je fouillerais pour une meilleur solution, à moins que quelqu'un a déjà trouvé. :wink:

Comment faire pour que le contenu de l’index Latin soit retranscrit en italique ?

Apparement la suggestion plait, il n'y a plus qu'à attendre la suite.
Si cela se faisait, j'aurai d'autres suggestions à proposer pour ce forum LaTeX. 8)


Publié : 03.09.2007 - 16h00 par papyrus

Bonjour,

malgré \renewcommand{\seename}{voir}
et dans le corps du texte \index{Vernaculaire}{Menthe!menthe-coq|see{Balsamite}}

pourquoi dans l’index des noms français le see n’est pas traduit par voir

pourquoi dans l’index des noms scientifiques le see n’apparaît même pas, ainsi que que l’entrée suivante \indexlatin{Oe@Œnothera biennis}

Pour ECM voir http://forum.cuk.ch/viewtopic.php?t=6735

merci


Publié : 05.09.2007 - 10h17 par Franck Pastor

Oups, désolé, là ça dépasse largement mon expérience :-( Je crois que fr.comp.text.tex est là aussi mieux à même de répondre à ce problème.


Publié : 05.09.2007 - 12h15 par papyrus

Franck Pastor a écrit :Oups, désolé, là ça dépasse largement mon expérience :-( Je crois que fr.comp.text.tex est là aussi mieux à même de répondre à ce problème.
Pour l’instant ils ont aussi le même problème :cry:
Mais je ne désespère pas :roll:

Suggestion
Peut être devrait on faire un sondage pour savoir combien de personnes sont intéressées par LaTeX…, pourquoi le sont-elles, dans quels domaines, ce qu’elles utilisent, sur quels types de système, leurs attentes, etc.


Publié : 16.09.2007 - 20h18 par papyrus

Bon après bien des prises de têtes voici les résultats

ECM fichier.tex

Code : Tout sélectionner

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass{book}
\usepackage[a5paper,top=50pt,bottom=100pt,left=2.1cm,right=1.75cm]{geometry}
\usepackage[frenchb]{babel}

%%%   « voir » en italique dans tout index   %%%
%%%   à placer sous  \usepackage[frenchb]{babel}  %%%
\addto\captionsfrench{\renewcommand*\seename{voir}}


\usepackage{fontspec,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Optima}
\setlength{\parindent}{1em}
\setlength{\parskip}{0ex plus 0ex minus 0ex}

\makeatletter
   \setcounter{secnumdepth}{-2}
   \renewcommand{\chapter}{%
   \@startsection{chapter}{0}{0em}
   {\baselineskip}{2\baselineskip}
      {%
      \clearemptydoublepage\thispagestyle{plain}
      \centering\setromanfont[SizeFeatures={Size=16}]{Papyrus}
      }
   }
   
   \renewcommand{\section}{%
   \@startsection{section}{1}{0em}
   {\baselineskip}{.2\baselineskip}
   {\centering\setromanfont[SizeFeatures={Size=14}]{Papyrus}}
   }
   
   \renewcommand{\subsection}{%
   \@startsection{subsection}{2}{1em}
   {\baselineskip}{.1\baselineskip}{\itshape}
   }
\makeatother

\usepackage{ifthen}
\newcommand*{\species}[2][]{%
\linebreak[4]\setromanfont{Optima}
\textit{#2}
\ifthenelse{%
   \equal{#1}{}
   }
   {}{~\textrm{#1}}
}


%%%%%%%%%%%%   En-têtes et pieds de page  %%%%%%%%%%%%%%%%%%
\usepackage{fancyhdr,xcolor}
\pagestyle{fancy}
\setlength\headheight{46pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markboth{#1}{#1}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\hrulefill}[1][.2pt]{%
\leavevmode \leaders\hrule height #1 \hfill \kern 0pt}
\xdefinecolor{mygray}{gray}{.7}
\newcommand{\filetR}{\textcolor{mygray}\hrulefill\hspace{6pt}\relax}
\newcommand{\filetL}{\hspace{6pt}\textcolor{mygray}\hrulefill\relax}
\fancyhf{}
\fancyhead[RO]{\filetR\leftmark}
\fancyhead[LE]{\rightmark\filetL}
\fancyfoot[c]{\thepage}

%%%%%%%%%%%%   Index multiples  %%%%%%%%%%%%%%%%%%%%
\usepackage{makeidx}
\usepackage{index}
\usepackage{multicol}
\newindex{Vernaculaire}{vdx}{vnd}{Noms français}
\newindex{Latin}{ldx}{lnd}{Noms scientifiques}

\makeatletter
\renewenvironment{theindex}{%
 \edef\indexname{\the \@nameuse {idxtitle@\@indextype }}%
 \columnseprule\z@
 \columnsep35\p@
 \chapter{\indexname} % C'est là que ça change
 \ifx\index@prologue\@empty \else
   \index@prologue \bigskip
 \fi
 \begin{multicols}{2}
 % fin des changements
 \parindent\z@
 \parskip\z@ \@plus .3\p@ \relax
 \let\item\@idxitem
}
{%
  \end{multicols}
}
\makeatother
%%%%%%%%%%%%   Fin Index   %%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\tableofcontents

\chapter{Huiles végétales de base}

\section{Quelle huile choisir ?}
Toute huile de base doit être de bonne qualité, c’est-à-dire vierge, de première pression à froid et de culture biologique.

\vspace*{\stretch{1}}

\section[Cumin noir]{Huile de cumin noir (la nigelle)
\species[L.]{Nigella sativa}}
\index[Vernaculaire]{Cumin noir}
\index[Vernaculaire]{Nigelle|see{Cumin noir}}
\index[Latin]{Nigella sativa}
Elle est

\section[Onagre]{Huile d’onagre
\species[L.]{\OE nothera biennis}}
\index[Vernaculaire]{Onagre}
\index[Latin]{Oe nothera biennis@\OE nothera biennis}
Avec ses propriétés

\chapter[Huiles macérées]{HUILES MACÉRÉES}

\section[Ail]{Huile de macération d’ail
\species[L.]{Allium sativum, ursinum}}
\index[Vernaculaire]{Ail}
\index[Latin]{Allium!sativum}
\index[Latin]{Allium!ursinum}
\emph{Gousses pilées}\\
Elle s’applique

\section[Balsamite]{Huile de macération de balsamite (menthe-coq)
\species[Desf.]{Balsamita major}}
\index[Vernaculaire]{Balsamite}
\index[Vernaculaire]{Menthe!menthe-coq|see{Balsamite}}
\index[Latin]{Balsamita major}
\index[Latin]{Tanacetum balsamita|see{Balsamita major}}
\index[Latin]{Chrysanthemum balsamita|see{Balsamita major}}
50~g de feuilles séchées pour 0,25 litre d'huile\\
En massages,

\section[Bouillon blanc]{Huile de macération de bouillon blanc ou molène
\species[L.]{Verbascum thapsus}}
\index[Vernaculaire]{Bouillon blanc}
\index[Vernaculaire]{Molène|see{Bouillon~blanc}}
\index[Latin]{Verbascum thapsus}
\emph{Fleurs\\}
Pour soulager

\section[Échinacée]{Huile de macération d’échinacée
\species[L.]{Echinacea angustifolia, purpurea}}
\index[Vernaculaire]{E@Échinacée}
\index[Latin]{Echinacea!angustifolia}
\index[Latin]{Echinacea!purpurea}
\emph{Racine\\}
Convient

\section[Menthe]{Huile de macération de menthe verte ou poivrée
\species[L.]{Mentha spicata, x piperita}}
\index[Vernaculaire]{Menthe!verte}
\index[Vernaculaire]{Menthe!poivrée}
\index[Latin]{Mentha!spicata}
\index[Latin]{Mentha!x piperita}
\emph{Feuilles\\}
1 poignée

\section[Menthe]{Huile de macération de menthe pouliot
\species[L.]{Mentha pulegium}}
\index[Vernaculaire]{Menthe!pouliot}
\index[Latin]{Mentha!pulegium}
\emph{Feuilles\\}
1 bonne

\section[Serpolet]{Huile de macération de serpolet
\species[L.]{Thymus serpilium}}
\index[Vernaculaire]{Serpolet}
\index[Latin]{Thymus!serpilium}
\emph{Sommités fleuries\\}
30~g par litre\\
S’utilise

\section[Thym]{Huile de macération de thym
\species[L.]{Thymus vulgaris}}
\index[Vernaculaire]{Thym}
\index[Latin]{Thymus!vulgaris}
\emph{Sommités fleuries\\}
On utilise

\section[Violette, huile violat]{Huile de macération de violettes ou huile violat
\species[L.]{Viola odorata}}
\index[Vernaculaire]{Violette}
\index[Vernaculaire]{Violat|see{Violette}}
\index[Latin]{Viola odorata}
\emph{Fleurs\\}
250~g de fleurs

%%%%%%%%%%%%   Index   %%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
\begin{hyphenrules}{nohyphenation} %%% Suppression césure
      \printindex[Vernaculaire]
       \renewcommand*\see[2]{\seename{ }\emph{#1}}
        \printindex[Latin]
\end{hyphenrules}
%%%%%%%%%%%%   Fin Index   %%%%%%%%%%%%%%%%%%%%%%%

\end{document}

Dans le même répertoire il faut joindre les fichiers de style latin.ist et verna.ist
ECM de latin.ist

Code : Tout sélectionner

group_skip   "\n\n \\bigskip\n"

headings_flag   1

item_0   "\n \\item \\textit{"
item_1   "\n \\subitem \\textit{"
item_2   "\n \\subsubitem \\textit{"
item_01  "\n \\subitem \\textit{"
item_12  "\n \\subsubitem \\textit{"
item_x1  "}\n \\subitem \\textit{"
item_x2  "}\n \\subsubitem \\textit{"

delim_0  "}\\enspace "
delim_1  "}\\enspace "
delim_2  "}\\enspace "
delim_n  ",~"
delim_r  "\\,--\\,"

%%%   Lettre centrée dans filet    %%%%
heading_prefix   "{\\hrulefill \\textbf{ "
heading_suffix   " }\\hrulefill} \\smallskip \\nopagebreak"


Après une première compilation LaTeX, dans le Terminal

Code : Tout sélectionner

cd répertoirecourant
makeindex fichier.ldx -o fichier.lnd -s latin.ist
makeindex fichier.vdx -o fichier.vnd -s verna.ist
Puis faire 2 compilations successives et tout est 8)


Publié : 17.09.2007 - 11h16 par Franck Pastor

Vive Usenet, hein ? :wink:


Publié : 17.09.2007 - 11h33 par papyrus

Franck Pastor a écrit :Vive Usenet, hein ? :wink:


Oouui.
C'est des véritables cours en direct. 8)