Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
composition:texte:pages:configurer_la_taille_du_papier [2018/12/03 23:46] – jejust | 3_composition:texte:pages:configurer_la_taille_du_papier [2022/08/09 14:01] (Version actuelle) – \epsilon → ε dbitouze |
---|
====== Getting the right paper geometry from (La)TeX ====== | ====== Comment modifier correctement le format de papier? ====== |
| |
| Si votre sortie papier n'a pas la bonne taille et que vous avez vérifié que ce n'est pas dû à des [[5_fichiers:pdf:imprimer_a_la_bonne_taille_avec_adobe_reader|réglages propres à Adobe Reader]], le problème se situe vraisemblablement dans votre configuration de <latex>\LaTeX</latex>. Les formats de papier peuvent être pénibles : <latex>\LaTeX</latex> ne semble pas y prêter grand intérêt. De fait, il n'y a pas de commande DVI pour spécifier le papier sur lequel le document doit être imprimé, ce qui a conduit à une dichotomie où les commandes composent le texte en fonction des besoins de l'auteur tandis que le choix des pilotes de périphériques se fait indépendamment de ces commandes. |
| |
If your output is the wrong size, and you've checked that it's not due | En pratique, <latex>\LaTeX</latex> se sert par défaut du [[3_composition:texte:pages:differences_entre_papier_a4_et_letter|format de papier américain]] //Letter//. Et, comme la plupart des distributions proviennent actuellement d'Europe, les pilotes utilisent généralement par défaut le format de papier ISO A4. Tout ceci n'est pas vraiment heureux : les utilisateurs peuvent toutefois assez facilement sélectionner un format de papier différent pour leur document. En effet, <latex>\LaTeX</latex> propose une gamme de formats, sous forme d'options dans les classes standard. Néanmoins, l'utilisateur doit également être sûr que chaque fois que ''xdvi'', ''dvips'' (ou autre) s'exécute, il utilise le format de papier pour lequel le document a été conçu. |
to the [[FAQ-acroantics|ministrations of Adobe ''Reader'']], | |
the problem is probably that your (La)TeX system is producing output | |
that specifies the wrong paper size. Paper sizes can be a pain: | |
they're a forgotten backwater --- Knuth seems not to have considered | |
paper size as something the TeX engine needs to know about. As a | |
result, there is no DVI command to specify the paper on which | |
the document should be printed, which has led a dichotomy where macros | |
shape the text according to the needs of the author's chosen paper | |
size, and device drivers" choice happens independently of the macros" | |
ideas. | |
| |
In practice, one usually finds that macro packages (such as Plain TeX and | Le format de papier par défaut pour les pilotes DVI peut être modifié par une commande de gestion de la distribution (''texconfig'' pour TeX Live, l'application ''Options'' pour MiKTeX). |
LaTeX) assume American "letter" paper size, by default; and since | |
most distributions nowadays originate in Europe, the drivers usually | |
default to ISO "A4" paper size. | |
| |
This is (of course) pretty unsatisfactory. Users may select a | Un problème différent se pose pour les utilisateurs de pdfTeX. Le format PDF //dispose// du moyen d'exprimer la taille du papier et pdfTeX a les variables système ''\pdfpagewidth'' et ''\pdfpageheight'', qui sont écrites dans le sortie du fichier PDF. Malheureusement, la plupart des logiciels de base sont antérieurs à pdfTeX. Même pdfLaTeX ne définit pas les valeurs correctes dans ces variables, pour correspondre au format de papier spécifié dans une option ''\documentclass''. |
different paper size for their document (current LaTeX offers a | |
range of sizes as options in the standard classes), pretty easily. | |
Nevertheless, the user also has to be sure that each time | |
''xdvi'', ''dvips'' (or whatever) runs, it uses the | |
paper size the document was designed for. | |
| |
The default paper size for DVI drivers may be changed by a | Les pilotes DVI ''dvips'', ''dvipdfm'' et leurs extensions (''dvipdfmx'' et ''xdvipdfmx'') définissent les commandes ''\special'' pour que le document spécifie son propre format de papier. Dans ces cas, comme lorsque pdfTeX est utilisé, le format de papier peut être programmé par le document. Les utilisateurs qui le souhaitent peuvent bien entendu consulter les manuels des différents programmes pour écrire le code nécessaire. |
distribution management command (''texconfig'' for TeX Live, | |
the ''Options'' application for MiKTeX), but this still | |
doesn't provide for people using the "wrong" sort of paper for some | |
reason. | |
| |
A different issue arises for users of pdfTeX --- the | ===== Avec les extensions geometry et zwpagelayout ===== |
PDF format //does// have the means of expressing paper size | |
and pdfTeX has system variables ''\pdfpagewidth'' and | |
''\pdfpageheight'', that are written into the output PDF file. | |
Unfortunately, most of the core software predates pdfTeX, so not even | |
pdfLaTeX sets the correct values into those variables, to match the | |
paper size specified in a ''\documentclass'' option. | |
| |
The DVI drivers ''dvips'', ''dvipdfm'' and its | Les extensions [[ctanpkg>geometry|geometry]] et [[ctanpkg>zwpagelayout|zwpagelayout]] traitent des dimensions des différents éléments des pages. Elles prennent de ce fait note de la taille du papier sur lequel le document va être imprimé et peuvent émettre les commandes nécessaires pour garantir qu'un bon format de papier est utilisé. Si [[ctanpkg>geometry|geometry]] est utilisé lorsqu'un document est en cours de traitement par pdfLaTeX, il peut définir les dimensions nécessaires « dans la sortie ». Si le document est traité par <latex>\LaTeX</latex> sur un moteur <latex>\TeX</latex> ou ε-<latex>\TeX</latex>, il existe des options d'extension qui indiquent à [[ctanpkg>geometry|geometry]] quelles commandes ''\special'' utiliser. Notez d'ailleurs que les options sont ignorées si vous utilisez pdfLaTeX. |
extensions (''dvipdfmx'' and ''xdvipdfmx'') define | |
''\special'' commands for the document to specify its own paper size; | |
so in those cases, as when pdfTeX is being used, the | |
paper size can be programmed by the document. Users who wish to, may | |
of course consult the manuals of the various programs to write the | |
necessary code. | |
| |
The [[ctanpkg>geometry|geometry]] and [[ctanpkg>zwpagelayout|zwpagelayout]] packages (whose main | ==== L'extension geometry ==== |
business includes defining | |
typeset page areas), also takes notice the size of the paper that the | |
document is going to be printed on, and can issue the commands | |
necessary to ensure the correct size of paper is used. If | |
[[ctanpkg>geometry|geometry]] is used when a document is being processed by | |
pdfLaTeX, it can set the necessary dimensions "in the output". | |
If the document is being processed by LaTeX on a TeX or $\epsilon$-TeX | |
engine, there are package options which instruct [[ctanpkg>geometry|geometry]] | |
which ''\special'' commands to use. (Note that the options are | |
ignored if you are using pdfLaTeX.) | |
| |
So, one resolution of the problem, when you are using LaTeX, is to add | Ainsi, une des solutions au problème, lorsque vous utilisez <latex>\LaTeX</latex>, consiste à ajouter : |
| |
<code latex> | <code latex> |
\usepackage[processor-option,...]{geometry} | \usepackage[option-processeur,...]{geometry} |
</code> | </code> |
Where ''processor-option'' tells the package what will produce | |
your (PostScript or PDF output --- [[ctanpkg>geometry|geometry]] knows about | |
''dvips'' and ''dvipdfm'' (''dvipdfm'' also | |
serves for the extension ''dvipdfmx'' and | |
''xdvipdfmx''). | |
| |
If you're using pdfLaTeX or XeTeX, load with | où ''option-processeur'' indique à l'extension ce qui produira votre sortie PostScript ou PDF. L'extension [[ctanpkg>geometry|geometry]] connaît ''dvips'' et ''dvipdfm'' (qui sert également pour ''dvipdfmx'' et ''xdvipdfmx''). |
| |
| Si vous utilisez pdfLaTeX ou XeTeX, chargez : |
| |
<code latex> | <code latex> |
\usepackage[program-option,...]{geometry} | \usepackage[option-programme,...]{geometry} |
</code> | </code> |
where ''program-option'' is ''pdftex'', | |
''xetex''. | |
| |
The alternative, [[ctanpkg>zwpagelayout|zwpagelayout]] requires a ''driver'' | où ''option-programme'' vaut ''pdftex'' ou ''xetex''. |
option: | |
| ==== L'extension zwpagelayout ==== |
| |
| De son côté, [[ctanpkg>zwpagelayout|zwpagelayout]] demande une option ''driver'' (pilote) : |
| |
<code latex> | <code latex> |
\usepackage[driver=value,...]{zwpagelayout} | \usepackage[driver=valeur,...]{zwpagelayout} |
</code> | </code> |
(permissible <//values//> are ''pdftex'', ''xetex'' | |
and ''dvips''; the default value is ''unknown''). | |
| |
Needless to say, both the "big" classes ([[ctanpkg>koma-script|koma-script]] and | Les //valeurs// autorisées pour cette option sont ''pdftex'', ''xetex'' et ''dvips''. La valeur par défaut est ''unknown'' (inconnu). |
[[ctanpkg>memoir|memoir]]) provide their own ways to get the paper size | |
"right". | ===== Avec les classes KOMA-script et memoir ===== |
| |
| Bien entendu, les deux « grandes » classes [[ctanpkg>koma-script|KOMA-script]] et [[ctanpkg>memoir|memoir]] fournissent leurs propres moyens d'obtenir le //bon// format de papier. |
| |
| ==== La classe KOMA-script ==== |
| |
The [[ctanpkg>typearea|typearea]] package is the [[ctanpkg>Koma-script|Koma-script]] | La classe [[ctanpkg>koma-script|KOMA-script]] fournit des fonctionnalités de mise en page par le biais de l'extension [[ctanpkg>typearea|typearea]]. Chargez-la avec l'option ''pagesize'' et elle s'assurera que le bon papier est sélectionné, que ce soit pour la sortie PDF de pdfLaTeX ou la sortie PostScript via ''dvips''. |
distribution's way of providing page layout functionality. Load it | |
with the ''pagesize'' option and it will ensure the correct | |
paper is selected, for PDF output from pdfLaTeX, and for | |
PostScript output from LaTeX via ''dvips''. | |
| |
[[ctanpkg>Memoir|Memoir]] has the standard classes' paper-size selections | ==== La classe memoir ==== |
(''a4paper'', ''letterpaper'' and so on), but also | |
permits the user to choose an arbitrary paper size, by setting the | |
length registers ''\stockheight'' and ''\stockwidth''. The commands | |
''\fixdvipslayout'' (for LaTeX processing), and ''\fixpdflayout'' | |
(for pdfLaTeX processing) then instruct the processor to produce | |
output that specifies the necessary paper size. | |
| |
| La classe [[ctanpkg>memoir|memoir]] dispose des format de papier des classes standard (''a4paper'', ''letterpaper'' et ainsi de suite) mais permet également à l'utilisateur de choisir un format de papier arbitraire, en définissant les registres de longueur ''\stockheight'' et ''\stockwidth''. Les commandes ''\fixdvipslayout'' (pour le traitement <latex>\LaTeX</latex>) et ''\fixpdflayout'' (pour le traitement pdfLaTeX) ordonnent ensuite au processeur de produire une sortie qui indique le format de papier nécessaire. |
| |
----- | ----- |
| |
{{htmlmetatags>metatag-keywords=(LaTeX,formatting) | {{htmlmetatags>metatag-keywords=(LaTeX,formatting) |
metatag-og:title=(Getting the right paper geometry from (La)TeX) | metatag-og:title=(Comment modifier correctement le format de papier) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |
| |