<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Geekographie Ma&#239;eulesque</title>
	<link>https://geekographie.maieul.net/</link>
	<description>Ce site est consacr&#233; &#224; quelques unes des mes geekeries. J'y donne des conseils, des r&#233;flexions, sur les logiciels et les langages que je connais ou que j'apprends.
J'y parle notamment de l'usage de LaTeX en sciences humaines et sociales, en particulier pour la gestion de la bibliographie.
Le contenu peut &#234;tre sous la forme d'articles d&#233;taill&#233;s ou de simples notes.
L'ensemble du contenu est, sauf pr&#233;cision contraire, sous licence Cr&#233;ative Commons Paternit&#233;-Partage des Conditions Initiales &#224; l'identique France.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://geekographie.maieul.net/spip.php?id_rubrique=40&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Index et table des mati&#232;res dans la table des mati&#232;res</title>
		<link>http://geekographie.maieul.net/62</link>
		<guid isPermaLink="true">http://geekographie.maieul.net/62</guid>
		<dc:date>2011-09-09T16:38:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ma&#239;eul</dc:creator>



		<description>
&lt;p&gt;Comment permettre &#224; l'index produit avec \printindex d'appara&#238;tre dans la table des mati&#232;res&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Comment permettre &#224; la table des mati&#232;res d'appara&#238;tre dans la table des mati&#232;res&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Voici la solution que j'ai adopt&#233;e, pour la classe book. Principe La commande \printindex fait appel &#224; l'environnement theindex, que l'on trouve d&#233;fini dans le fichier book.cls. \newenvironmenttheindex \if@twocolumn \@restonecolfalse \else&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="http://geekographie.maieul.net/Table-des-matieres" rel="directory"&gt;Table des mati&#232;res&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Comment permettre &#224; l'index produit avec &lt;code&gt;\printindex&lt;/code&gt; d'appara&#238;tre dans la table des mati&#232;res&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Comment permettre &#224; la table des mati&#232;res d'appara&#238;tre dans la table des mati&#232;res&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? Voici la solution que j'ai adopt&#233;e, pour la classe book.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;h2&#034;&gt;Principe&lt;/h2&gt;
&lt;p&gt;La commande &lt;code&gt;\printindex&lt;/code&gt; fait appel &#224; l'environnement &lt;code&gt;theindex&lt;/code&gt;, que l'on trouve d&#233;fini dans le fichier &lt;code&gt;book.cls&lt;/code&gt;.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\newenvironment{theindex} {\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \twocolumn[\@makeschapterhead{\indexname}]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% \thispagestyle{plain}\parindent\z@ \parskip\z@ \@plus .3\p@\relax \columnseprule \z@ \columnsep 35\p@ \let\item\@idxitem} {\if@restonecol\onecolumn\else\clearpage\fi}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C'est la ligne 7 qui nous int&#233;resse. Elle contient l'appel &#224; la commande &lt;code&gt;\@makeschapterhead&lt;/code&gt;, qui se charge d'afficher le titre de l'index.&lt;/p&gt;
&lt;p&gt;La commande &lt;code&gt;\tableofcontents&lt;/code&gt; est d&#233;finie directement dans le fichier &lt;code&gt;book.cls&lt;/code&gt;&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\newcommand\tableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname \@mkboth{% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \@starttoc{toc}% \if@restonecol\twocolumn\fi }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ici c'est la ligne 7 qui nous int&#233;resse, puisqu'elle appelle la commande &lt;code&gt;\chapter*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Il va s'agir de modifier ces lignes. Pour cela, nous allons utiliser la commande &lt;code&gt;\patchcmd{commande}{recherche}{remplace}{succes}{echec}&lt;/code&gt; package &lt;code&gt;etoolbox&lt;/code&gt;, qui est charg&#233; par &lt;code&gt;polyglossia&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cette commande remplace dans la commande &lt;code&gt;commande&lt;/code&gt; la valeur &lt;code&gt;recherche&lt;/code&gt; par &lt;code&gt;remplace&lt;/code&gt;. Si ce remplacement fonctionne, elle retourne &lt;code&gt;succes&lt;/code&gt;, sinon &lt;code&gt;echec&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Application pour l'index&lt;/h2&gt;&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\makeatletter \patchcmd{\theindex}{\@makeschapterhead{\indexname}}{\phantomsection\addcontentsline{toc}{chapter}{\indexname}\@makeschapterhead{\indexname}}{}{} \makeatother&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nos caract&#232;res &#224; chercher dans le code de la commande contenant des @, nous entourons de &lt;code&gt;\makeatletter&lt;/code&gt; et &lt;code&gt;\makeatother&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Nous rempla&#231;ons dans la commande &lt;code&gt;\theindex&lt;/code&gt;, qui correspond &#224; ce qui est ex&#233;cut&#233; en d&#233;but d'environnement &lt;code&gt;theindex&lt;/code&gt;,&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\@makeschapterhead{\indexname}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\phantomsection\addcontentsline{toc}{chapter}{\indexname}\@makeschapterhead{\indexname}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La commande &lt;code&gt;addcontentsline&lt;/code&gt; ajoute l'entr&#233;e dans la table des mati&#232;res. La commande &lt;code&gt;\phantomsection&lt;/code&gt; sert au package &lt;code&gt;hyperref&lt;/code&gt; &#224; avoir ses signets de navigation correctement plac&#233;s.&lt;/p&gt;
&lt;p&gt;Nous n'ex&#233;cutons rien de particulier ni en cas de succ&#232;s ni en cas d'&#233;chec.&lt;/p&gt;
&lt;h2 class=&#034;h2&#034;&gt;Application &#224; la table des mati&#232;res&lt;/h2&gt;&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\patchcmd{\tableofcontents}{\chapter*}{\phantomsection\addcontentsline{toc}{chapter}{\contentsname}\chapter*}{}{}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nous rempla&#231;ons dans la commande &lt;code&gt;\tableofcontents&lt;/code&gt;,&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\chapter*&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;par&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class='latex'&gt;&lt;code&gt;\phantomsection\addcontentsline{toc}{chapter}{\contentsname}\chapter*&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nous n'ex&#233;cutons rien de particulier ni en cas de succ&#232;s ni en cas d'&#233;chec.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;Si vous n'utilisez pas le package &lt;code&gt;hyperref&lt;/code&gt;, ne mettez pas &lt;code&gt;\phantomsection&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
