Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5
Cas de deux documents et collisions

31 Oct '22, 12:15

vincentb1's gravatar image

vincentb1
1874

Il faut un `\refstepcounter` pour que l'ancre soit identifiée dans le `.aux`. Les commandes `\section`, `\subsection`, etc. les environnements `table`, ou `figure`, font implicitement ce `\refstepcounter`, mais là dans votre cas je crée un compteur `includepdfpage` (que vous auriez pu nommer autrement), et je fais `\refstepcounter{includepdfpage}`. Avec votre code on a dans le .aux ceci (qui ne marche pas) : \newlabel{ici.1}{{}{3}{}{}{}} \newlabel{ici.2}{{}{4}{}{}{}} Avec le code corrigé on a ceci dans le `.aux` : \newlabel{ici.1}{{1}{3}{}{includepdfpage.1}{}} \newlabel{ici.2}{{2}{4}{}{includepdfpage.2}{}} De même pour la référence, au lieu de `\hyperlink{example-image-a4-numbered.pdf.1}{\pageref*{ici.1}}`, utilisez juste `\pageref{ici.1}` qui donnera à la fois le texte du nom lien et le lien vers la bonne ancre. Notez bien que le numéro de l'ancre `includepdfpage.1` n'est que par hasard le même que celui de l'étiquette `ici.1`, si vous aviez inclus les pages 6 et 7 du fichier, utilisez le nom généré document, vous auriez eu `ici.6` mais toujours `includepdfpage.1` ou lui correspondant et `ici.7` avec `includepdfpage.2` lui correspondant, c'est à dire qu'avec le code corrigé que j'ai proposé les ancres sont numérotées séquentiellement de la première page incluse à la dernière incluse. Si par exemple vous incluez les pages 3, 7 et 10 d'un document `docA.pdf`, et ensuite les pages 7 et 28 d'un document `docB.pdf`, alors l'ancre correspondant à la page 7 de `docA.pdf` sera `includepdfpage.2`, et celle correspondant à la page 28 de `docB.pdf` sera `includepdfpage.5`, et dans le `.aux`. ce cas vous auriez certainement fabriqué des étiquettes avec un radical différent, par ex. `iciA` pour `docA.pdf` dont la page 7 incluse serait désignée par l'étiquette `iciA.7`, et `iciB` pour `docB.pdf` dont la page `7` incluse serait désignée par l'étiquette `iciB.7` et a donc une étiquette différente de `iciA.7`. Si vous voulez que les ancres aient le même numéro que celui de la page du document d'origine, par exemple pour que ce soit plus facile de faire référence à ces ancres depuis un autre document avec le paquetage `xr` (cf. https://latexref.xyz/fr/xr-package.html) alors il vous faudrait quelque chose reprenant `AM@page`, du genre de : pagecommand={\setcounter{includepdfpage}{\numexpr\csname AM@page\endcsname-1}% \refstepcounter{includepdfpage}\label{ici.\csname AM@page\endcsname}} Dans ce cas d'ailleurs, pour la même raison d'éviter toute collision de noms, il serait préférable d'utiliser un compteur différent par document inclus, par. ex. Si vous incluiez les pages de deux documents `docA.pdf` et `docB.pdf`, vous définiriez par exemple des compteurs `includepdfpageA` et `includepdfpageB`. Ainsi, si vous incluez à la fois la page 7 de `docA.pdf` et la page 7 de `docB.pdf` vous avez des ancres différentes `includepdfpageA.7` et `includepdfpageB.7`.
cliquez ici pour masquer/afficher la révision 4
mineure

31 Oct '22, 08:54

denis's gravatar image

denis
7.3k1510

Il faut un \\refstepcounter `\refstepcounter` pour que l'ancre soit identifiée dans le .aux. `.aux`. Les commandes \\section, \\subsection, `\section`, `\subsection`, etc. les environnements table, `table`, ou figure `figure`, font implicitement ce \\refstepcounter, `\refstepcounter`, mais là dans votre cas je crée un compteur includepdfpage `includepdfpage` (que vous auriez pu nommer n'importe autrement), et je fais \\refstepcounter{includepdfpage}. `\refstepcounter{includepdfpage}`. Avec votre code on a dans le .aux ceci (qui ne marche pas) : \newlabel{ici.1}{{}{3}{}{}{}} \newlabel{ici.2}{{}{4}{}{}{}} Avec le code corrigé on a ceci dans le .aux `.aux` : \newlabel{ici.1}{{1}{3}{}{includepdfpage.1}{}} \newlabel{ici.2}{{2}{4}{}{includepdfpage.2}{}} De même pour la référence, au lieu du nom du fichier, utilisez le nom généré includepdfpage.1 `includepdfpage.1` ou includepdfpage.2 `includepdfpage.2` dans le .aux. `.aux`.
cliquez ici pour masquer/afficher la révision 3
coquille.1

30 Oct '22, 22:09

vincentb1's gravatar image

vincentb1
1874

cliquez ici pour masquer/afficher la révision 2
coquillle

30 Oct '22, 22:07

vincentb1's gravatar image

vincentb1
1874

cliquez ici pour masquer/afficher la révision 1

30 Oct '22, 22:06

vincentb1's gravatar image

vincentb1
1874

C'est votre première visite ici ? Consultez la FAQ !

×