Afin d'automatiser la conversion de pages A4 au format A5 et de réorganiser les pages d'un document de QCM j'ai eu recours au package multido qui me genère l'erreur « missing number, treated as zero » dans mon code ci dessous : Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper]{article} \usepackage[final]{pdfpages} \usepackage{multido} % m nombre de page par étudiant(ici 7 pages par étudiant) % n nombre total d'étudiant % p = n*m nombre total de page du document % m=7 \newcounter{m} \setcounter{m}{7} \newcounter{n} \setcounter{n}{5} \begin{document} \multido{\i=0+1}{n}{ \includepdf[pages={1-(m-2)},nup=1x2,landscape,signature=36]{DOC-sujet.pdf} \includepdf[pages={(m-1)- m},nup=1x2,landscape,signature=4]{DOC-sujet.pdf} \addtocounter{m}{7} } \end{document} Explication : il s'agit d'automatiser la conversion d'un document de m × n pages A4 en format A5.
Pour ce faire, j'utilise la boucle multido pour :
L'objectif est d'obtenir un document pdf avec aussi bien les feuilles des réponses de l'ensemble des étudiants que leur feuilles de résultats, mais bien ordonnés aux format A5 et A4 pour les pages résultats. Posée 12 Déc '17, 15:19 Sparkofgod Pathe ♦♦ |
Un livret Pour le cas de l'exemple, le plus simple est : Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper]{article} \usepackage[final]{pdfpages} \begin{document} \includepdf[pages={1-5,8-12,15-19,22-26,29-33},signature=36,landscape]{DOC-sujet.pdf} \end{document} Remarque je pense que c'est 28 au lieu deux 36. Une solution plus générale est comme suit : Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper]{article} \usepackage[final]{pdfpages} \usepackage{multido} \newcounter{m} \setcounter{m}{1} % indice \newcounter{n} \setcounter{n}{5} % nombre des etudiants \newcounter{p} \setcounter{p}{7} % nombre des pages pour chaque etudiant \newcounter{q} \setcounter{q}{2} % nombre des pages resultats \multido{\i=0+1}{\then}{% pour extraire les intervalles des pages \ifx\mypages\undefined \xdef\mypages{\them-\the\numexpr\value{m}+\value{p}-\value{q}-1\relax}% \else \xdef\mypages{\mypages,\them-\the\numexpr\value{m}+\value{p}-\value{q}-1\relax}% \fi \addtocounter{m}{\value{p}}} \newcommand{\mysignature}{% pour des détermine la signature qui convient \the\numexpr4*\numexpr(\value{n}*(\value{p}-\value{q})+1)/4\relax} \newcommand{\myBooklet}[2]{% commande utilisé par \mybooklet en interne \includepdf[pages={#1},signature=\mysignature,landscape]{#2}} \newcommand{\mybooklet}[1]{% \expandafter\myBooklet\expandafter{\mypages}{#1}} \begin{document} \mybooklet{DOC-sujet.pdf} \end{document} Première réponse Je ne suis pas sûr d'avoir tout compris, mais voilà Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper]{article} \usepackage[final]{pdfpages} \usepackage{multido} \newcounter{m} \setcounter{m}{1} \newcounter{n} \setcounter{n}{5} \begin{document} \multido{\i=0+1}{\then}{ \includepdf[pages={\them - \the\numexpr\value{m}+4\relax},nup=1x2,landscape]{DOC-sujet.pdf} \includepdf[pages={\the\numexpr\value{m}+5\relax - \the\numexpr\value{m}+6\relax}]{DOC-sujet.pdf} \addtocounter{m}{7} } \end{document} Remarque 1 : Il faut faire attention à Remarque 2 : Pour les 2 dernières pages (résultats) vous pouvez essayer avec les options
Publiée 13 Déc '17, 12:18 touhami Pourriez vous m'expliquer svp ce que font les deux ligne includepdf.... car il y a les commande tels que numexpr et relax que je n'ai pas compris... Merci d'avance...
(13 Déc '17, 13:40)
Sparkofgod
(13 Déc '17, 13:51)
touhami
et le relax ?
(13 Déc '17, 15:21)
Sparkofgod
(13 Déc '17, 19:52)
touhami
Si j'ai bien tout pigé, multido va de 1 à n en exécutant d'abord la transformation du includepdf parcourant les pages de m à m+4 avec nup=1*2 et includepdf parcourant les pages de m+5 à m+6 et fini chaque tour en Incrémentant m de 7 pages. Est bien exacte ma compréhension ? Merci encore mille fois!!!
(13 Déc '17, 23:07)
Sparkofgod
Oui, c'est exacte! Grand merci! Tu es un génie!!!
(14 Déc '17, 10:41)
Sparkofgod
En fait j'ai oublié une partie très importante, il s'agit d'imprimer en livret recto-verso. Ainsi l'ordre des page serait importante et Signature est le plus petit multiple de 4, quitte a ajouter des pages blanches à la fin. L'ordre d'impression sera alors: N, 1, 2, N-1, N-2, 3, 4, N-3, N-4, 5, 6, N-5 ... Exemples pour 4 pages: 4,1,2,3 pour 8 pages: 8,1,2,7,6,3,4,5 pour 12 pages: 12,1,2,11,10,3,4,9,8,5,6,7 pour 16 pages: 16,1,2,15,14,3,4,13,12,5,6,11,10,7,8,9 pour 20 pages: 20,1,2,19,18,3,4,17,16,5,6,15,14,7,8,13,12,9,10,11 Ainsi prendra fin ma galère...
(18 Déc '17, 15:33)
Sparkofgod
Sous linux, la suite d'outils psutils vous serait utile. Elle permet de réorganiser un document en vue de son impression sous forme de livret, de disposer deux pages côte à côte, etc.
(18 Déc '17, 16:08)
Pathe ♦♦
@Sparkofgod Le problème est avec ces deux pages de résultats (p : 6,7,13,14,...), qui sont au format A4, comment voulez vous les arrangés ?
(18 Déc '17, 19:57)
touhami
Exacte, nous allons travailler uniquement sur les feuilles de questions transformées en A5 pour faire le livret. le reste que constituant les feuilles de reponses demeureront en A4 et constitueront un autre document au format A4. Merci...
(18 Déc '17, 20:45)
Sparkofgod
Touhami, les feuilles questions des étudiants pouvant etre non ordonnées, as tu pu trouver quelque chose pour l'obtension du livret A5 dans le bon ordre ? Sans les feuilles reponses bien sur.
(19 Déc '17, 21:00)
Sparkofgod
@Sparkofgod j'ai modifié ma réponse.
(19 Déc '17, 21:49)
touhami
Qu'est ce que vous voulez dire par les feuilles questions des étudiants pouvant etre non ordonnées ?
(19 Déc '17, 22:05)
touhami
En supposant que les feuilles question-reponses (différent des pages resultat) des étudiants sont scannées et que les différentes pages des 7 étudiants sont mélangées. La nous aurons un document de tous les 7 étudiants mais avec les pages mélangées. Au départ les pages sont supposées ordonnées pour chaque étudiant de 1 à 7. Mais dans la pratique on peut avoir la page 1 de l'étudiant 1, ensuite la page 3 de l'étudiant 5 ensuite la page 4 de l'étudiant 6 etc jusqu'à la fin du document. D'ou le désordre ou le "non ordonnée"...
(19 Déc '17, 22:43)
Sparkofgod
1
OK mais quel est le but final ? avoir un livret avec les pages ordonnées ?
je crains que cela ne soit pas possible sauf si vous pouvez fournir une liste de correspondance, par exemple,
(19 Déc '17, 23:25)
touhami
Oui, le but final est d'avoir un livret avec des pages ordonnées!Sur chaque page nous avons le numéro de l'étudiant et le numéro de sa page. Serait il possible ? Sinon il nous faut forcement ranger les pages par étudiant. Merci bien...
(20 Déc '17, 13:27)
Sparkofgod
Merci beaucoup! J'espere qu'Aimer c'est voter, sinon j'ai chercher en vain ou voter sans success! Encore une fois grand merci!!!
(21 Déc '17, 14:10)
Sparkofgod
Affichage de 5 parmi 20
Afficher 15 commentaire(s) en plus
|
Pour avoir accès à la valeur d'un compteur, il faut utiliser
\the
+nomDuCompteur
. Ici,\them
et\then
.Essayer avec
\multido{\i=0+1}{\then}{ \includepdf[pages={1-\the\numexpr\value{m}-2\relax},nup=1x2,landscape,signature=36]{dvips.pdf} \addtocounter{m}{7} }
Pouvez vous expliquer votre but ?
Si j'ai bien compris les deux dernieres page sont insérées en format A4 donc il ne faut pas ajouter l'option
nup=1x2
non ? de plus, que représente le fichierDOC-sujet.pdf
? est ce que tout les pages sont déjà rassemblées dans un seule fichier ?J'ai pris la liberté de modifier votre question, j'espère que c'est OK.
En effet toutes les pages de l'ensemble des étudiants sont déjà rassemblées dans le seul fichier Doc-sujet.pdf mais au format A4.
Oui les deux dernières pages de chaque étudiant restent au format A4.
Oui vous avez raison pour les pages de réponse qui ne doivent plus prendre le nup=1*2.
@Sparkofgod Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).