1
1

C'est une question classique, mais je ne réussis pas à remettre en ligne la main sur la solution.

J'ai composé soixante pages au format A5, que j'utilise à la française.

Comment les imprimer à raison de deux par page sur un format A4 à l'italienne ?

Nulle histoire de cahiers ici : je désire simplement avoir les pages logiques 1 & 2 sur la feuille imprimée en premier (donc la première page physique), les pages logiques 3 & 4 sur la deuxième feuille, etc. — il s'agit pour moi d'avoir une version imprimée du document pour pouvoir le lire à voix haute.

Je me souviens que sous GNU/Linux la suite logicielle psutils faisait ça très bien. Mais comment ?

Posée 19 Avr '18, 07:50

Pathe's gravatar image

Pathe ♦♦
7.5k42203251
Taux d'acceptation : 55%

Modifiée 21 Avr '18, 03:12

3

Il y a les extensions twoup et twoinone qui font ça ; je présume que pdfpages doit aussi le faire.

(19 Avr '18, 13:22) Bernard Bernard's gravatar image

La doc de twoup m'a fait retrouver psnup, grâce auquel j'ai facilement retrouvé pstops.

Tout d'abord j'ai, pour produire un fichier PostScript identique (au langage près) au fichier .pdf de 104 pages, exécuté la commande suivante :

Ouvrir dans l'éditeur Overleaf
$ pdf2ps fichier-a5.pdf ficher-a5.ps

Puis j'ai fait subir les pires outrages au fichier nouvellement créé :

Ouvrir dans l'éditeur Overleaf
$ pstops "2:0L@1(21cm,0)+1L@1(21cm,14.85cm)"  fichier-a5.ps fichier-a4.ps 
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 
[18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] 
[33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] 
[48] [49] [50] [51] [52] Wrote 52 pages, 693744 bytes

Ça génère bien 52 pages A4 à partir de 104 pages au format A5.

Le paramètre important est ici le « 1 » qui suit l'arobase dans la séquence 2:0L@1(21cm,0)+1L@1(21cm,14.85cm) : il indique que l'échelle ne change pas — 1 pour 1.

Oui, ladite séquence est complexe. Mais la documentation d'icelle existe, est fort claire, est accessible en ligne, par exemple ici ainsi qu'accessible via la commande linux man pstops (que la page internet indiquée ci-dessus ne fait que reproduire — les pages de man, c'est du contenu gratuit pour certains sites en mal de trucs à raconter).

La séquence est de la forme [modulo:]specsmodulo est le nombre de pages logiques traitées pour obtenir une page physique.

specs est dans mon cas de la forme specs+specs : vous aurez remarqué le signe + au milieu de la séquence 2:0L@1(21cm,0)+1L@1(21cm,14.85cm). Il est logique qu'il y ait deux spécifications puisque modulo vient de spécifier que je traite deux pages ; la commande pstops les appelle 0 et 1 à chaque passage : elle se met en œuvre pour les deux premières pages, termine son travail... et fait son ménage : elle remet ses propres compteurs à zéro. Si j'avais fait précéder ces chiffres d'un signe moins (-), la commande aurait inversé l'ordre des pages logiques traitées.

Chaque numéro de page est suivi d'un L (pour left en anglais) : cela signifie que cette page sera pivotée vers la gauche.

Chaque L est suivi d'une arobase suivie du chiffre 1 : cela précise l'échelle, ici un pour un. Si j'avais voulu caser, mettons, huit pages A5 logiques dans une page A4 physique, ça ne rentrerait pas : je pourrais donc réduire celles-ci (et les réorganiser dans la page — mais ça c'est une autre histoire, que la commande pstops permet aussi, mais ce n'est pas mon présent propos), je pourrais donc réduire celles-ci en écrivant @0.25 : essayez !

Restent de la séquence 2:0L@1(21cm,0)+1L@1(21cm,14.85cm) les parenthèses : elles indiquent tout simplement où mettre le coin inférieur gauche de mes pages logiques dans ma page physique.

En effet, la commande pstops considère que le point origine d'une page — logique ou physique — est son coin inférieur gauche, un peu comme si l'on posait le petit côté de la page sur l'axe des abscisses d'un repère orthonormé à deux dimensions, en prenant bien soin que celle-ci soit plaquée contre celui des ordonnées : son coin inférieur gauche aurait alors (0, 0) comme coordonnées. Sauf que là, il faut bien mettre le point (0, 0) de ma première page logique à 21 centimètres du point origine de la page physique ; et pour que ma deuxième page logique ne soit pas placée sur la première, elle est décalée en hauteur, à 14,85 cm sur l'axe des ordonnées. D'où les deux paramètres de positionnement : (21cm,0) et (21cm,14.85cm). Tout s'explique.

En résumé :

  • la séquence est de la forme [modulo:]specsmodulo est le nombre de pages logiques traitées pour obtenir une page physique ;
  • specs est de la forme [-]pageno[L][R][U][H][V][@scale][(xoff,yoff)].

Les crochets y représentent le fait qu'est optionnel le paramètre qui y est enserré.

C'est un certain Angus J. C. Duggan qui a rédigé ça entre 1991 et 1995. Ben merci Angus : des années plus tard, elle roxe toujours, ta commande !

Quiz :

que se passe-t-il si j'exécute sur un fichier de plusieurs pages A4 les séquences suivantes :

Ouvrir dans l'éditeur Overleaf
$ pstops "4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm)" fichier-origine-A4.ps fichier-destination-A4-1sur2.ps  
$ pstops "4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)" fichier-origine-A4.ps fichier-destination-A4-2sur2.ps

Réponse dans la page de man !

Lien permanent

Publiée 19 Avr '18, 16:32

Pathe's gravatar image

Pathe ♦♦
7.5k42203251
Taux d'acceptation : 55%

Modifiée 21 Avr '18, 03:01

Si c'est juste pour lire, pourquoi pas A4 avec twocolumn + landscape et une fonte adaptée à votre vue de lynx? Ceci dit, la question est très utile pour imprimer un même document au format de son choix.

(05 Mai '18, 23:54) joseph-tux joseph-tux's gravatar image

Le menu d'impression d' Evince, celui d' acrobat reader et sans doute d'autres afficheurs pdf, permettent de choisir la mise en page, avec pour ici, 2 pages par face et l'orientation paysage.

On peut alors imprimer dans un nouveau pdf, ou directement sur l'imprimante.

(06 Mai '18, 00:06) joseph-tux joseph-tux's gravatar image

bookletimposer est un logiciel 100% libre, disponible sous Linux mais aussi sous OsX et windows :

Ci-dessus l'écran d'accueil.

Ici le choix « Put multiple input pages on one output sheet » (3ème bouton) répond à la question, avec le réglage Layout à 2x1.

  1. On trouve le même genre de menu sur l'interface d'impression de certains lecteurs pdf, comme Evince ou Acrobat reader, avec possibilité d'imprimer dans un fichier ou sur l'imprimante.
  2. bookletimposer dispose aussi d'options en ligne de commande, ce qui permet de créer des alias ou des scripts avec préréglages. La ligne de commande est très efficace pour traiter régulièrement de la même façon un fichier pdf ou pour traiter en une seule commande une collection de pdf.
Lien permanent

Publiée 06 Mai '18, 18:43

joseph-tux's gravatar image

joseph-tux
46623061
Taux d'acceptation : 3%

Modifiée 07 Mai '18, 12:24

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

1

Je viens d'en faire un avec l'option raster de l'extension tcolorbox, qui permet de diviser l'espace en cadres de dimensions égales. Avec l'orientation à l'italienne («paysage») et 2 colonnes, on obtient une page a4 divisée en 2 pages a5 une fois pliée en 2. Avec un document de 2 pages on a donc un dépliant de 4 pages a5. J'ai supprimé les marges avec l'extension fullpage, récemment découverte ici

(28 Fév '19, 19:23) joseph-tux joseph-tux's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.