IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en forme Discussion :

pdflatex inverse .toc et .out


Sujet :

Mise en forme

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 45
    Points : 29
    Points
    29
    Par défaut pdflatex inverse .toc et .out
    J'ai toujours utilisé pdflatex sans problèmes. J'obtenais un PDF avec des signets automatiquement produits (autant que d'élément à référencement: chapitres, sections, labels, etc.) ce qui était très bien.

    Depuis hier, rien ne va plus!

    Au lieu de créer un fichier .toc contenant des lignes comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    \select@language {french}
    \contentsline {chapter}{Table des mati\`eres }{i}{section*.1}
    \contentsline {chapter}{Avis public concernant [...]}{iii}{chapter*.3}
    \contentsline {chapter}{Espace de tests}{1}{chapter*.4}
    ...
    il copie dans le essai.toc (je dis bien dans le ".toc") ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pdftex: define anchor at line 349: page.i
    pdftex: define anchor at line 7: page.ii
    pdftex: define anchor at line 7: Hfootnote.1
    pdftex: define anchor at line 7: chapter*.3
    pdftex: bookmark at 9: {0}{\Avis}{chapter*.3}{0}{toc}
    Du coup, quand dans mon document principal, latex rencontre \tableofcontents, il veut traiter le ".toc" (qui est plus proche d'un ".out" qu'autre chose) et bien sûr, gros soucis! Par exemple, le fichier .log indique que pdflatex a voulu compilé toutes ces lignes qui n'ont rien à voir avec du code latex! Et bien sûr, la ligne contenant une définition personnelle \Avis cause problème aussi! Lisez plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Package hyperref Warning: No destination for bookmark of \addcontentsline,
    (hyperref)                destination is added on input line 349.
     
    pdftex: define anchor at line 349: section*.1
    pdftex: bookmark at 349: {0}{Table des matières}{section*.1}{0}{toc}
    pdftex: define anchor at line 349: chapter*.2
    (essai.toc
    ! Missing number, treated as zero.
    <to be read again> 
                       i
    l.4 Package Fancyhdr Warning: \headheight i
                                               s too small (12.0pt):
    A number should have been here; I inserted `0'.
    (If you can't figure out why I needed to see a number,
    look up `weird error' in the index to The TeXbook.)
    ET encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Overfull \hbox (177.52681pt too wide) in paragraph at lines 30--33
    []\T1/aer/m/n/10 (-20) pdftex: de-fine an-chor at line 5: chap-ter.1 Cha-pitre 
    1. pdf-tex: book-mark at 5: 1[]Ce
     []
    Alors j'ai essayé de compiler avec latex (et non plus pdflatex), et là, tout va bien! Le .toc est un vrai .toc, et j'obtiens mon document lisible .dvi (Rq: pas de doute, je ne dis pas de bêtise: à la première compilation, le .toc est lu, et ma table des matières est une savante suite de "warnings" et de compte rendu "pdflatex: ..."; à la deuxième compilation, la table des matières est correcte!) Je reviens à pdflatex, et là problème: le .toc n'est plus un .toc, il contient le compte rendu des warnings et pdflatex...

    Bon, mais là j'arrête de décrire ces anomalies, parce qu'on est dans du vrai délire! Incroyable mais vrai!

    J'ai trois raisons de chercher à régler le problème (pdflatex->pdf), et de ne pas me satisfaire d'une solution détournée (latex->dvi+dvi2ps+ps2pdf) qui fonctionne:
    1) le pdf créé par pdflatex a des signets automatiquement créés, tandis que je n'ai pas de signets pas en faisant latex-> dvi2ps, ps2pdf
    2) les différences dans la finition: paramètres définis dans pdflatex sont ignorés (couleur et encadrement des liens hypertex, etc.), polices différentes...
    3) comprendre pourquoi tout d'un coup, pdflatex intervertit .toc et .out, pour savoir si c'est moi qui ai causé ça ou si c'est inexplicable!

    NB: j'ai redémarré deux fois le PC, et chaque fois, ça a été pareil!

    Vous avez déjà vu une aberration pareille? Ca vous dit quelque chose?

    Merci d'avance!

  2. #2
    Membre habitué Avatar de Laughing Man
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 145
    Points
    145
    Par défaut
    essai de regarder du coté de la configuration de pdflatex et des paramètres de génération. Je t'aurais bien dit de nous poster ton code, mais vu que ça a l'air de marcher pour faire du dvi....

    A mon avis c'est un problème de paramètre quand tu compile. Mais vérifie quand même que toute la syntaxe soit correcte dans ton document maître.
    I thought what I'd do was, I'd pretend I was one of those deaf-mutes
    On ne peut pas être "sous" Windows, ils ont déjà touché le fond => Linux powaaa

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 45
    Points : 29
    Points
    29
    Par défaut
    mais vu que ça a l'air de marcher pour faire du dvi
    C'est ça qui est fou!
    "latex fichier.tex" fonctionne (la toc est correctement créée): bon dvi
    "padflatex fichier.tex" ne fonctionne plus (la toc est un ramassis d'intox): pas de pdf créé

    C'est comme si il s'était mis à copier son le contenu d'un genre de .log dans le .toc! Mais ce n'est pas à mon goût, c'est le moins quon puisse dire...

    Là je ne vois vraiment pas...

  4. #4
    Membre habitué Avatar de Laughing Man
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 145
    Points
    145
    Par défaut
    j'ai essayer de regarder dans toutes mes doc tex, latex, miktex mais j'ai rien pu trouver la dessus.
    Et comme c'est à prioris pas du à ton code je vois pas bien où se trouve le problème si la config de pdflatex est ok.
    I thought what I'd do was, I'd pretend I was one of those deaf-mutes
    On ne peut pas être "sous" Windows, ils ont déjà touché le fond => Linux powaaa

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 72
    Points : 81
    Points
    81
    Par défaut
    t'as essayé de repertir de zéro: dans un répertoire vide, mettre ton fichier tex et lancer la compil?

  6. #6
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Citation Envoyé par lowang Voir le message
    t'as essayé de repertir de zéro: dans un répertoire vide, mettre ton fichier tex et lancer la compil?
    Je n'ai pas reussi a determiner quel systeme est utilise (Ex: distro & IDE) cependant avec TeXnicCenter (win32) ou bien Kyle (Linux) il est possible de demander a l'IDE de "netoyer" le projet. Donc il vire tout les fichiers temporaires ainsi que les toc et autre lof.

    Ah oui, je note que dans le premier post nous avons droit au log du processus pdftex et non pas pdflatex... mais bon c'est peu etre la meme chose

    A.
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  7. #7
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    Au pire des cas, du compile en dvi et tu imprimes ton dvi via pdfcreator ou un soft du genre pour en faire un pdf. Bon, trouver la cause de ton problème serait plus élégant mais à défaut de mieux...

  8. #8
    Membre habitué Avatar de Laughing Man
    Profil pro
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 145
    Points
    145
    Par défaut
    En ce cas autant rester sur la première solution, à savoir convertir le dvi en ps et le ps en pdf

    J'ai encore cherché ce matin mais je trouve nul part un problème de la sorte. Vu que latex génère automatiquement le .toc, je vois mal comment il peut inverser .toc et .out....le mystère reste entier

    Et si tu repart de zéro, comme c'est proposé plus haut, ça donne quoi?
    I thought what I'd do was, I'd pretend I was one of those deaf-mutes
    On ne peut pas être "sous" Windows, ils ont déjà touché le fond => Linux powaaa

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 123
    Points : 142
    Points
    142
    Par défaut
    Je travaille sous TeXNicCenter, et il y a un "profil" par methode de compilation... Je n'ai rien vu qui ait rapport avec le .toc, mais je sais qu'il y a différente option de compilation etc...

    Peut être existe-il quelque chose de similaire dans l'environnement que tu utilise.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 45
    Points : 29
    Points
    29
    Par défaut mauvais symptôme... pardon
    J'ai compris d'où venait cette absurdité...

    Tex ne peut ouvrir à la fois que 16 fichiers:
    - le .tex principal,
    - le .aux correspondant,
    - le .toc,
    - mon fichier de déclaration des index,
    - les index déclarés dans le fichier de déclaration (j'en avais 13)
    Donc arrivé à la déclaration du 13e fichier d'index, cela faisait le 17e fichier ouvert. La suite est une longue suite de cohérence pour Tex, mais d'incohérence pour le petit utilisateur que je suis...

    Le symptôme initial était donc écrit dans le log:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (./def-index.tex
    ! No room for a new \write .
    C'est à partir de là qu'on peut remonter l'intelligence du phénomène... Je m'étais arrêté à une couche supérieure de compilation où les erreurs déclarées étaient celles rencontrées en compilant le .toc, parce qu'un effet secondaire de l'erreur initiale consistait à recopier tout un tas de messages de type .log dans le .toc!

    La solution, en l'occurrence, est l'utilisation de la commande \disableindex dont la description est sommairement fournie sur un doc .pdf. Je le fournis, pour éviter à ceux qui seront intéressés de chercher:
    si on déclare:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    \newindex{IndexA}{idxa}{inda}{Mon index A}
    \newindex{IndexB}{idxb}{indb}{Mon index B}
    ...
    \newindex{IndexM}{idxm}{indm}{Mon index M}
    Il suffira, juste avant ces lignes \newindex de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \disable{IndexE,IndexF,IndexG,IndexH,IndexI,IndexJ,IndexK,IndexL,IndexM}
    et seuls les IndexA, IndexB, IndexC et IndexD seront traités.
    Restera à faire une nouvelle compilation en excluant une autre série...

    Merci à vous tous qui avez cherché pour moi, et pardon, vraiment pardon de vous avoir fait perdre du temps sur la base d'informations incomplètes... Mon diagnostic était mauvais. Je suis un peu débutant en Latex, et parfois, c'est un peu la jungle...

    Mais j'ai d'autres problèmes moins délicats que je vous soumettrai bientôt.

    Merci encore!

  11. #11
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    Une bonne chose à savoir ça! Merci à toi!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différences entre a.out et *.com ???
    Par Thcan dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 25/02/2003, 21h36
  2. Interception des commandes in et out
    Par KDD dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 18/12/2002, 16h55
  3. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 19h31
  4. Effet Fade In / Fade Out sur une surface DirectDraw
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 08/09/2002, 17h37
  5. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo