Bon, ben déjà merci pour la réponse...
Alors le coup du "ça marchait avant, mais ça ne fonctionne plus maintenant", j'avoue que je n'ai absolument pas compris le truc.
Le document en question est généré depuis un script php qui va piocher des informations dans une base de données postgresql.
Les titres des sections sont récupérés d'une table, et sont identiques quel que soit le paramétrage de l'édition.
L'an passé, je sortais cette édition avec les données de 2007, et le .tex compilait sans problèmes (9 sections). Cette année, avec les données de 2008, le .tex ne compile pas, alors qu'il y a moins de sections (5).
Pour répondre à tes questions :
- Non, pas de trucs particuliers dans les titres des sections, puisque les 5 de la seconde sont aussi présents dans les 9 de la première édition.
- En fait si je vire la redéfinition de la commande section ça passe, j'ai presque envie de dire : "forcément".
Le coup de ton idée perso sur le bug me plaît bien, et j'en était arrivé là moi aussi...
gdb c'était une bonne idée, mais arrivée trop tard. Je m'explique :
Les commandes que j'avais données dans mon message initial pour redéfinir la commande \section étaient placées un peu après le \begin{document} ce qui était loin d'être propre.
Après moults essais, j'ai fini par comprendre qu'il vallait mieux placer tout ça dans un fichier de définition de classe, j'ai donc modifié la classe que j'utilise comme suit pour parvenir au même résultat :
Du fait des commandes \@, on ne peut placer se set de commandes dans l'en-tête du fichier tex lui même, c'est ce que disent les différentes informations glanées sur le web de-ci de-là.
Bref, je donne le code car il peut aussi intéresser d'autres que moi. D'autant que la version étoilée de la commande section, si elle n'imprime pas de n° de section, ne remplit pas la table des matières, d'où l'appel à \addcontentsline.
Enfin, pourquoi texi2pdf plutôt que pdflatex. Bonne question. Ça fait des années que je l'utilise et je crois me souvenir que le premier est fourni en standard avec tex/tetex/latex alors que l'autre est un paquet à part. Du coup, texi2pdf est dispo partout, ce qui n'est pas le cas de pdflatex. Il me semble que c'est pour ça, mais maintenant, ça fait tellement d'années que j'utilise cette commande que j'avoue n'avoir que de vagues souvenirs de cette justification.
Quoi qu'il en soit, merci pour ton aide, car parfois, se poser quelques questions de plus peut aider...
[^] # Re: quelques précisions de plus?
Posté par Gyro Gearllose . En réponse au message [LaTeX] Redéfinition de la commande \section. Évalué à 2.
Alors le coup du "ça marchait avant, mais ça ne fonctionne plus maintenant", j'avoue que je n'ai absolument pas compris le truc.
Le document en question est généré depuis un script php qui va piocher des informations dans une base de données postgresql.
Les titres des sections sont récupérés d'une table, et sont identiques quel que soit le paramétrage de l'édition.
L'an passé, je sortais cette édition avec les données de 2007, et le .tex compilait sans problèmes (9 sections). Cette année, avec les données de 2008, le .tex ne compile pas, alors qu'il y a moins de sections (5).
Pour répondre à tes questions :
- Non, pas de trucs particuliers dans les titres des sections, puisque les 5 de la seconde sont aussi présents dans les 9 de la première édition.
- En fait si je vire la redéfinition de la commande section ça passe, j'ai presque envie de dire : "forcément".
Le coup de ton idée perso sur le bug me plaît bien, et j'en était arrivé là moi aussi...
gdb c'était une bonne idée, mais arrivée trop tard. Je m'explique :
Les commandes que j'avais données dans mon message initial pour redéfinir la commande \section étaient placées un peu après le \begin{document} ce qui était loin d'être propre.
Après moults essais, j'ai fini par comprendre qu'il vallait mieux placer tout ça dans un fichier de définition de classe, j'ai donc modifié la classe que j'utilise comme suit pour parvenir au même résultat :
\renewcommand\section{\@startsection{section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{0.1ex}%
{\normalfont\Large\bfseries}}
\let\presection=\section
\renewcommand{\section}[1]{\newpage%
\presection*{#1}\addcontentsline{toc}{section}{#1}\vspace{-1.5ex}%
\noindent\rule{\textwidth}{1pt}\vspace*{.5ex}}
Du fait des commandes \@, on ne peut placer se set de commandes dans l'en-tête du fichier tex lui même, c'est ce que disent les différentes informations glanées sur le web de-ci de-là.
Bref, je donne le code car il peut aussi intéresser d'autres que moi. D'autant que la version étoilée de la commande section, si elle n'imprime pas de n° de section, ne remplit pas la table des matières, d'où l'appel à \addcontentsline.
Enfin, pourquoi texi2pdf plutôt que pdflatex. Bonne question. Ça fait des années que je l'utilise et je crois me souvenir que le premier est fourni en standard avec tex/tetex/latex alors que l'autre est un paquet à part. Du coup, texi2pdf est dispo partout, ce qui n'est pas le cas de pdflatex. Il me semble que c'est pour ça, mais maintenant, ça fait tellement d'années que j'utilise cette commande que j'avoue n'avoir que de vagues souvenirs de cette justification.
Quoi qu'il en soit, merci pour ton aide, car parfois, se poser quelques questions de plus peut aider...