Forum Programmation.autre Problème d'impression d'un document LaTeX A5 sur A4

Posté par  (Mastodon) .
Étiquettes : aucune
1
19
mar.
2009
Bonjour ô forum,

aujourd'hui je suis confronté à un soucis assez diabolique...
J'ai un document LaTeX créé en A5paper, il me sort un dvi ou un pdf en A5 tout joli tout propre.
Le but de l'opération est de laisser LaTeX faire une belle mise en page, avec la taille des polices qui va bien et tout, pour imprimer sur du A5. Le résultat est très bien.

Maintenant je cherche à l'imprimer, et j'imprime sur du A4. Mon idée est de mettre tout simplement deux pages A5 côte à côte sur la page A4. Ca tombe bien c'est fait pour non ? Ca a l'air simple présenté comme ça, juste imprimer, rien à faire...

Bon, on sort un kpdf (okular en fait, j'ai mis ma slack à jour avec kde4), il est bien je peux lui dire d'imprimer deux pages sur une seule, avec le recto-versos sur le petit côté de la page.
Ca imprime c'est cool, mais c'est un peu petit, mes marges n'étaient pas si grandes...
Je prend ma règle et je mesure : il a imprimé mes pages A5 au format A6 sur ma page.
En fait ce qu'il a fait c'est de considérer mes pages A5 et de les « imprimer » sur du A4, bien centrée avec des tas de marges partout. Ensuite il a prit deux pages qui se suivent, les a passée (réduites) de A4 à A5, en a collé deux côte à côte, et a imprimé le tout.
Ma pauvre page A5 s'affiche donc en A6, en petit, avec plein de marges.
Et moi j'ai encore perdu une feuille de papier...

Même expérience avec l'utilitaire hp-toolbox : mon imprimante est une HP, il y a plein de paramètres super partout, c'est cool.
Mais quoi que je fasse il met ma page A5 dans du A4 avec plein de marges, et travaille ensuite sur cette nouvelle page, et donc dire que j'en veux deux par page réduit le tout de moitié.

Le problème est donc que si on veut imprimer deux pages sur une seule, il réduit forcément la taille de moitié, donc même si je me fais un doc LaTeX en A4 directement (ce que j'aimerai éviter), il faudrait aussi que je double la taille de la police puisqu'il va la diviser en deux !
Mais LaTeX ne prend que10pt, 11pt et 12pt comme valeur de taille de police pour un document, pas 20pt par exemple...

Quelqu'un saurait-il comment me sauver ?
Une option LaTeX peut-être ? Un super utilitaire en ligne de commande qui marche vraiment (à partir d'un dvi, un pdf un ps, qu'importe !) ?
Peut-être qu'on peut simplement coller les deux pages A5 dans un fichier dvi/pdf/ps avec des pages doubles au format A4 qu'on imprimerait directement sans faire de bidouille avec l'impression en elle-même, mais je n'ai pas trouvé comment faire, soit en travaillant les fichiers, soit en option LaTeX...

Voilà voilà, merci beaucoup si quelqu'un a une solution !

Yth.
  • # Et si c'etait l'imprimante qui le faisait.?

    Posté par  (site web personnel) . Évalué à 2.

    Peut être je dis une bêtise mais voila comment je ferai:
    Faire un document A4, utiliser une police plus grande genre une 12 pour voir et si besoin utiliser les commandes \large ou \Large...et demander a mon imprimante d'imprimer 2 pages par feuille.
    Pour l'histoire des polices tu pourrais peut être faire un truc du genre:
    % famille: times, taille 18pt, espace entre 2 lignes consecutives 21pt
    \newcommand{\myFont}{\fontfamily{ptm}\fontsize{18pt}{21pt}\selectfont}
    % la police roman par defaut devient myFont
    \renewcommand{\rmdefault}{\myFont}


    c'est pas le mieux mais ca donne une piste.

    Olivier

    Les logiciels de traitement de texte sont à la rédaction ce que la 2CV est à l'automobile, une vieille voiture dont on se souvient avec nostalgie mais technologiquement dépassée

    • [^] # Re: Et si c'etait l'imprimante qui le faisait.?

      Posté par  (Mastodon) . Évalué à 2.

      L'idée est bonne, j'avais essayé en changeant juste la taille dans l'entête :
      \documentclass[a5paper,10pt]{book} -> \documentclass[a4paper,20pt]{book}
      Mais il ne veut pas, c'est forcément 10, 11 ou 12pt.

      Cela dit c'est un peu du bricolage, et j'aimerai juste une solution propre où je crée des pages A5 pour les imprimer en A5, a priori ça n'a pas l'air d'être trop demander, hein...?
      Bref, j'expérimente avec ce que les gens m'ont proposé après !

      Merci,

      Yth.
  • # Postscript

    Posté par  . Évalué à 5.

    La solution est de passer par un fichier postscript intermédiaire en A5, puis d'utiliser les utilitaires comme psbook ou ps2ps pour imprimer 2 A5 sur 1 A4. Je ne te ferais pas l'injure de lire les pages de man à ta place.
    • [^] # Re: Postscript

      Posté par  (Mastodon) . Évalué à 4.

      J'ai réussi avec ces outils, et pas mal de bidouille aussi, parce que c'est tordu.
      psbook c'est super bien, je faisais la découpe et la réorganisation des pages à la main, avec pdftk par exemple pour extraire les pages du PDF et en recréer dans un ordre pour livret. psbook il fait ça super bien et tout seul :)
      Mais bon, le problème n'était pas précisément là...
      En fait la solution a été « psresize ».

      Premier problème en fait : avoir un postscript qui soit vraiment en A5, dvips ou même pdftops ont tendance à sortir un postscript au format A4 avec la page A5 coincée en haut à gauche.
      On s'en sort avec une option de pdftops (je n'ai pas (encore ?) trouvé son équivalent dans dvips).
      pdftops -expand -paper match fichier.pdf fichier.ps
      Là on a un joli postscript équivalent au DVI ou au PDF générés par LaTeX. C'est beau, c'est propre...
      psbook ensuite crée le livret, aucun soucis de ce côté là : psbook -s16 fichier.ps livret.ps
      livret.ps est encore au format A5, toujours propre, jusque là on est heureux, mais à l'impression ça explose toujours.

      psnup m'a toujours sorti un fichier postscript qui avait les mêmes problèmes que l'impression : des pages A5 posées sur du A4, le A4 réduit en A5 et composé en deux pages par page : échec...

      La solution est venue de psresize :
      psresize -Pa5 -pa4 livret.ps livretA4.ps
      Cet outil va agrandir ma page A5 pour qu'elle soit au format A4, en zoomant comme il faut, c'est là le miracle, j'ai ma belle page d'origine mais juste plus grande et considérée comme A4, mais un A4 propre, comme le DVI ou le PDF d'origine, victoire !
      Bon, pas tout à fait : quand on regarde le fichier livretA4.ps on se rencontre que le fichier lui-même est toujours en A5, avec nos nouvelles pages redimensionnées en A4 dedans, donc c'est tronqué de partout : on voit juste le centre de la page.
      Mais ça ce n'est pas grave, ces formats ne perdent pas l'information hors des limites du document, donc ma page est encore entière c'est juste qu'onlui demande d'afficher un bout au format A5 au milieu.

      Et ça s'arrange comme ça :
      ps2pdf -sPAPERSIZE=a4 livretA4.ps imprimable.pdf
      En fait on peut mêmeglisser le psnup entre les deux dernières commandes :
      psnup -2 livretA4.ps livretA4-2p.ps , qui sort un postscript avec deux pages sur une, prêt à l'impression, mais toujours défini comme étant A5, avec des pages A4 dedans, donc tronqué à l'affichage. Là on refait la manip ps2pdf -sPAPERSIZE=a4, et on a un PDF imprimable directement en recto-verso sans avoir besoin d'un logiciel comme okular ou hp-toolbox ou que sais-je pour imprimer deux pages sur une...

      Je n'ai pas réussi à remettre le format du postscript en A4 correctement pour le moment, je ne vois pas comment faire avec pstops, donc on revient à un PDF à l'arrivée.
      Il est probable en fait que ce dernier fichier postscript s'imprime correctement sur papier A4, mais je n'ai pas testé.

      Bref, merci beaucoup !

      Yth.


      f=`basename fichier.tex .tex`
      s=16
      pdflatex $f.tex
      pdftops -expand -paper match $f.pdf $f.ps
      psbook -s$s $f.ps ${f}-livret.ps
      psresize -Pa5 -pa4 ${f}-livret.ps ${f}-livret-A4.ps
      psnup -2 ${f}-livret-A4.ps ${f}-livret-A4-2p.ps
      ps2pdf -sPAPERSIZE=a4 ${f}-livret-A4-2p.ps ${f}-imprimable.pdf

      lpr ${f}-imprimable.pdf
  • # > Un super utilitaire en ligne de commande qui marche vraiment

    Posté par  (site web personnel) . Évalué à 3.

    psmerge & psnup?

    Tu utilises psmerge pour faire un seul document avec tes pages au format A5, puis tu utilises psnup pour les mettre à deux sur une page a4, avec une ligne de commande du type
    psnup -2 -Pa5 -pa4 fichier.a5.ps fichier.a4.ps
  • # pgfpages

    Posté par  (site web personnel) . Évalué à 3.

    Le package pgfpages sait faire ce genre de choses : tu fais ton document en a5 paper et tu ajoutes dans l'entête

    \usepackage{pgfpages}
    \pgfpagesuselayout{2 on 1}[a4paper,landscape]

    Et voilà.
    • [^] # Re: pgfpages

      Posté par  (Mastodon) . Évalué à 2.

      C'est une solution qui me plait pas mal, mais il va falloir fouiller un peu pour savoir s'il est capable de faire des choses comme psbook, pour l'impression d'un livret.
      En attendant j'ai trouvé ma solution en ligne de commande alors je vais souffler un peu etenfin imprimer mon doc !

      Merci,

      Yth.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.