{"id":967,"date":"2019-01-19T13:30:58","date_gmt":"2019-01-19T12:30:58","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=967"},"modified":"2021-10-26T17:08:36","modified_gmt":"2021-10-26T15:08:36","slug":"voir-le-numeros-des-pages-ou-sont-vos-images","status":"publish","type":"post","link":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/","title":{"rendered":"Voir le num\u00e9ros des pages o\u00f9 sont vos images"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Au menu sur cette page...<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Introduction\" >Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Code_source_LaTeX\" >Code source \\(\\LaTeX\\)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#On_passe_en_ligne_de_commande\" >On passe en ligne de commande<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Du_cote_de_Python\" >Du c\u00f4t\u00e9 de Python<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Etape_1_on_lit_le_fichier_dvilog\" >Etape 1 : on lit le fichier dvilog<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Etape_2_on_cree_la_liste\" >Etape 2 : on cr\u00e9\u00e9 la liste<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Etape_3_on_cree_un_dictionnaire_des_images\" >Etape 3 : on cr\u00e9e un dictionnaire des images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Le_final\" >Le final<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#Alternative\" >Alternative<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il y a quelques temps, dans le cadre de mon activit\u00e9 professionnelle du c\u00f4t\u00e9 de l&rsquo;\u00e9dition, j&rsquo;ai d\u00fb me pencher sur une question plut\u00f4t \u00e9pineuse (pour moi), \u00e0 savoir de construire une liste dans laquelle il y a les images d&rsquo;un document cr\u00e9\u00e9 avec \\(\\LaTeX\\), ainsi que le num\u00e9ro de la page de chaque image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, si mon document affiche l&rsquo;image <em>toto.eps<\/em> \u00e0 la page 7, je voudrais que cela figure dans ma liste.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons voir une fa\u00e7on (qui n&rsquo;est peut-\u00eatre pas la meilleure, mais toute suggestion est bonne) de proc\u00e9der avec <strong>Python<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Code_source_LaTeX\"><\/span>Code source \\(\\LaTeX\\)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"latex\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\\documentclass[12pt,a4paper]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage{lipsum}\n\\usepackage{graphicx}\n\t\\graphicspath{{img\/}}\n\\begin{document}\n\\lipsum\n\\begin{center}\n\\includegraphics{avatar.eps}\n\\end{center}\n\\lipsum\n\\begin{center}\n\\includegraphics{nsi.eps}\n\\end{center}\n\\lipsum\n\\begin{center}\n\\includegraphics{sept.eps}\n\\end{center}\n\\lipsum\n\\begin{center}\n\\includegraphics[width=0.75\\linewidth]{tangente.eps}\n\\end{center}\n\\end{document}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Je compile ce code via la cha\u00eene Latex+dvips+ps2pdf et l&rsquo;obtiens alors un document PS ainsi qu&rsquo;un DVI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"On_passe_en_ligne_de_commande\"><\/span>On passe en ligne de commande<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant, on va dans le r\u00e9pertoire qui contient les fichiers, puis on entre le code suivant (sous Windows) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dvips -o Essai.ps Essai &gt; logdvi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sous Linux, le code est le suivant :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dvips -o Essai.ps Essai &amp;&gt; logdvi<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ce code aura pour effet de cr\u00e9er un fichier <em>logdvi<\/em> dans lequel il y aura :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>This is dvips(k) 5.998 Copyright 2018 Radical Eye Software (www.radicaleye.com)\n' TeX output 2019.01.19:1350' -&gt; Essai.ps\n&lt;C:\/Users\/mathweb\/AppData\/Local\/Programs\/MiKTeX\/dvips\/base\/tex.pro&gt;\n&lt;C:\/Users\/mathweb\/AppData\/Local\/Programs\/MiKTeX\/dvips\/base\/texps.pro&gt;\n&lt;C:\/Users\/mathweb\/AppData\/Local\/Programs\/MiKTeX\/dvips\/base\/special.pro&gt;.\n&lt;C:\/Users\/mathweb\/AppData\/Local\/Programs\/MiKTeX\/fonts\/type1\/public\/amsfonts\/cm\/cmr12.pfb&gt;\n&#91;1] &#91;2&lt;.\/img\/avatar.eps&gt;] &#91;3] &#91;4&lt;.\/img\/nsi.eps&gt;] &#91;5] &#91;6&lt;.\/img\/sept.eps&gt;] &#91;7]\n&#91;8&lt;.\/img\/tangente.eps&gt;]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remarquez alors qu&rsquo;\u00e0 la fin de ce fichier, la liste des images est pr\u00e9sente&#8230; avec le num\u00e9ro des pages juste avant les images ! Le probl\u00e8me est le format&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Du_cote_de_Python\"><\/span>Du c\u00f4t\u00e9 de Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Etape_1_on_lit_le_fichier_dvilog\"><\/span>Etape 1 : on lit le fichier dvilog<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fichier = open(\"logdvi\", \"r\")\nall_lines = fichier.readlines()\nfic = \"\"\nfor i in range(len(all_lines)):\n    line = all_lines[i].replace('\\n','')\n    fic += line\nfichier.close()<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ce code ouvre d&rsquo;abord le fichier <em>logdvi<\/em> puis convertit toutes ses lignes en entr\u00e9es de liste. La liste ainsi construite est nomm\u00e9e <em>all_lines<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, je souhaite cr\u00e9er une cha\u00eene de caract\u00e8res contenant toutes les lignes \u00e0 la suite; je vais donc enlever les \u00ab\u00a0\\n\u00a0\u00bb (les retours \u00e0 la ligne) \u00e0 chacune des lignes (dans la boucle <em>for<\/em>) et je concat\u00e8ne les lignes avec l&rsquo;instruction \u00ab\u00a0fic += line\u00a0\u00bb. \u00c0 la fin de ma boucle, la cha\u00eene de caract\u00e8res <em>fic<\/em> contient toute les lignes du fichier <em>logdvi<\/em> \u00e0 la suite.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Etape_2_on_cree_la_liste\"><\/span>Etape 2 : on cr\u00e9\u00e9 la liste<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">crochetOuvrant = False\nimgList = []\n\nfor c in fic:\n    if c == \"[\":\n        crochetOuvrant = True\n        container = \"\"\n    else:\n        if c == \"]\":\n            crochetOuvrant = False\n            imgList.append(container)\n            \n        else:\n            if crochetOuvrant == True:\n                container += c<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ici,  on parcourt la cha\u00eene de caract\u00e8res <em>fic<\/em> (avec la boucle <em>for&nbsp;c&nbsp;in&nbsp;fic<\/em>) caract\u00e8re par caract\u00e8re. Si on rencontre un crochet ouvrant, alors on commence le stockage dans la liste : pour chaque crochet ouvrant, on cr\u00e9\u00e9 une entr\u00e9e. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette entr\u00e9e est de la forme \u00ab\u00a0[xx]\u00a0\u00bb ou \u00ab\u00a0[xx&lt;.\/img\/xxx.eps&gt;]\u00a0\u00bb.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Etape_3_on_cree_un_dictionnaire_des_images\"><\/span> Etape 3 : on cr\u00e9e un dictionnaire des images  <span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">imgDicoList = []\npage = ''\n\nfor i in imgList:\n    if '&lt;' in i: # si au moins une illus. est pr\u00e9sente\n        imgDico = {}\n        for x in i.split('&lt;'):\n            if len(x)&lt;4:\n                pageCount = True\n                if len(x) == 1:\n                    page = '00'+x\n                elif len(x) == 2:\n                    page = '0'+x\n                else:\n                    page = x\n            else:\n                pageCount = False\n                name = x[6:]\n                name = name[:-5]\n            if pageCount == False:\n                imgDico['page'] = page\n                imgDico['name'] = name\n                imgDicoList.append(imgDico)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Je souhaite que ma liste soit compos\u00e9e d&rsquo;entr\u00e9es sous la forme d&rsquo;un dictionnaire qui comporte deux cl\u00e9s, que je vais nommer <em>page<\/em> et <em>name<\/em>. Je vais donc parcourir ma liste pr\u00e9c\u00e9dente et je vais avant tout tester la pr\u00e9sence d&rsquo;une image. Si l&rsquo;entr\u00e9e de la liste est de la forme \u00ab\u00a0[xx]\u00a0\u00bb, c&rsquo;est-\u00e0-dire s&rsquo;il n&rsquo;y a pas de symbole \u00ab\u00a0&lt;\u00ab\u00a0, alors on peut passer \u00e0 l&rsquo;entr\u00e9e suivante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00ab\u00a0&gt;\u00a0\u00bb est au contraire pr\u00e9sent alors je cr\u00e9\u00e9 un dictionnaire vide, <em>imgDico.<\/em> Il faut penser \u00e0 une chose : 2 images peuvent \u00eatre sur une m\u00eame page, donc dans une entr\u00e9e, il se peut qu&rsquo;il y ait plusieurs \u00ab\u00a0&lt;\u00ab\u00a0, donc pour chaque entr\u00e9e, je vais couper selon les caract\u00e8res \u00ab\u00a0&lt;\u00a0\u00bb (avec la m\u00e9thode <em>split<\/em>, qui construit une liste compos\u00e9e de chaque portion comprise entre deux \u00ab\u00a0&lt;\u00ab\u00a0); c&rsquo;est le principe de la boucle \u00ab\u00a0<em>for x in i.split(&lsquo;&lt;&lsquo;):<\/em>\u00a0\u00bb qui fait que l&rsquo;on parcourt la liste construite par <em>split<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bon, je passe les d\u00e9tails mais ce dernier code construit des entr\u00e9es sous la forme de dictionnaires, o\u00f9 le num\u00e9ro des pages est format\u00e9 sur 3 caract\u00e8res.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Le_final\"><\/span>Le final<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Python nous renvoie :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(imgDicoList)\n&#91;{'page': '002', 'name': 'avatar'}, {'page': '004', 'name': 'nsi'}, {'page': '006', 'name': 'sept'}, {'page': '008', 'name': 'tangente'}]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On a donc ainsi une liste de toutes les illustrations ainsi que leur page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Alternative\"><\/span>Alternative<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le d\u00e9but du code peut \u00eatre simplifi\u00e9 \u00e0 l&rsquo;aide du module <em>re<\/em>. De plus, plut\u00f4t que de passer en ligne de commande avant d&rsquo;ex\u00e9cuter le programme Python, on peut faire appel au module <em>os<\/em> pour ex\u00e9cuter la ligne \u00ab\u00a0dvips&#8230;\u00a0\u00bb directement.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import re\nimport os\n\ninstruction = \"dvips -o Essai.ps Essai > logdvi.txt\"\nos.system(instruction)\n\nregex = re.compile(r'[\\n]')\nfichier = open(\"logdvi.txt\", \"r\")\nfic = fichier.read()\nfic = regex.sub(\" \",fic)\n\nfichier.close()\n\ncrochetOuvrant = False\nimgList = []\n\nfor c in fic: \n    if c == \"[\":\n        crochetOuvrant = True\n        container = \"\"\n    else:\n        if c == \"]\":\n            crochetOuvrant = False\n            imgList.append(container)\n            \n        else:\n            if crochetOuvrant == True:\n                container += c\n\nimgDicoList = [] \npage = ''\n\nfor i in imgList:\n    if '&lt;' in i:\n        imgDico = {}\n        for x in i.split('&lt;'):\n            if len(x)&lt;4:\n                pageCount = True\n                if len(x) == 1:\n                    page = '00'+x\n                elif len(x) == 2:\n                    page = '0'+x\n                else:\n                    page = x\n            else:\n                pageCount = False\n                name = x[6:]\n                name = name[:-5]\n            if pageCount == False:\n                imgDico['page'] = page\n                imgDico['name'] = name\n                imgDicoList.append(imgDico)\n\nfor i in imgDicoList:\n    for key, value in i.items():\n        print (key, value)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les abonn\u00e9s \u00e0 ce site pourront t\u00e9l\u00e9charger le ZIP contenant le fichier source LaTeX, le code Python et les images EPS ci-dessous:<\/p>\n\n\n\n<div class=\"wp-block-file aligncenter\"><a href=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2019\/01\/Voir-le-numero-des-pages.zip\">T\u00e9l\u00e9charger le fichier ZIP<\/a><a href=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2019\/01\/Voir-le-numero-des-pages.zip\" class=\"wp-block-file__button\" download=\"\">T\u00e9l\u00e9charger<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Il y a quelques temps, dans le cadre de mon activit\u00e9 professionnelle du c\u00f4t\u00e9 de l&rsquo;\u00e9dition, j&rsquo;ai d\u00fb me pencher sur une question plut\u00f4t \u00e9pineuse (pour moi), \u00e0 savoir de construire une liste dans laquelle il y a les images d&rsquo;un document cr\u00e9\u00e9 avec \\(\\LaTeX\\), ainsi que le num\u00e9ro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,5],"tags":[],"class_list":["post-967","post","type-post","status-publish","format-standard","hentry","category-informatique","category-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr\" \/>\n<meta property=\"og:description\" content=\"Introduction Il y a quelques temps, dans le cadre de mon activit\u00e9 professionnelle du c\u00f4t\u00e9 de l&rsquo;\u00e9dition, j&rsquo;ai d\u00fb me pencher sur une question plut\u00f4t \u00e9pineuse (pour moi), \u00e0 savoir de construire une liste dans laquelle il y a les images d&rsquo;un document cr\u00e9\u00e9 avec (LaTeX), ainsi que le num\u00e9ro [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-19T12:30:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-26T15:08:36+00:00\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Pasquet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Pasquet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/\"},\"author\":{\"name\":\"St\u00e9phane Pasquet\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"headline\":\"Voir le num\u00e9ros des pages o\u00f9 sont vos images\",\"datePublished\":\"2019-01-19T12:30:58+00:00\",\"dateModified\":\"2021-10-26T15:08:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/\"},\"wordCount\":706,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"articleSection\":[\"Informatique\",\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/\",\"name\":\"Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"datePublished\":\"2019-01-19T12:30:58+00:00\",\"dateModified\":\"2021-10-26T15:08:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2019\\\/01\\\/19\\\/voir-le-numeros-des-pages-ou-sont-vos-images\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Voir le num\u00e9ros des pages o\u00f9 sont vos images\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/","og_locale":"fr_FR","og_type":"article","og_title":"Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr","og_description":"Introduction Il y a quelques temps, dans le cadre de mon activit\u00e9 professionnelle du c\u00f4t\u00e9 de l&rsquo;\u00e9dition, j&rsquo;ai d\u00fb me pencher sur une question plut\u00f4t \u00e9pineuse (pour moi), \u00e0 savoir de construire une liste dans laquelle il y a les images d&rsquo;un document cr\u00e9\u00e9 avec (LaTeX), ainsi que le num\u00e9ro [&hellip;]","og_url":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/","og_site_name":"Mathweb.fr","article_published_time":"2019-01-19T12:30:58+00:00","article_modified_time":"2021-10-26T15:08:36+00:00","author":"St\u00e9phane Pasquet","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"St\u00e9phane Pasquet","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#article","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/"},"author":{"name":"St\u00e9phane Pasquet","@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"headline":"Voir le num\u00e9ros des pages o\u00f9 sont vos images","datePublished":"2019-01-19T12:30:58+00:00","dateModified":"2021-10-26T15:08:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/"},"wordCount":706,"commentCount":0,"publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"articleSection":["Informatique","Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/","url":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/","name":"Voir le num\u00e9ros des pages o\u00f9 sont vos images - Mathweb.fr","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"datePublished":"2019-01-19T12:30:58+00:00","dateModified":"2021-10-26T15:08:36+00:00","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/2019\/01\/19\/voir-le-numeros-des-pages-ou-sont-vos-images\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"Voir le num\u00e9ros des pages o\u00f9 sont vos images"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=967"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/967\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/categories?post=967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/tags?post=967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}