[Résolu] Modification de largeur de texte

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Modification de largeur de texte

Messagepar GRSG » Lundi 18 Mai 2009, 12:43

Bonjour,

Je suis souvent amené dans mon poly de cours à modifier sur une page la largeur de texte. Je pourrais utiliser l'environnement minipage, mais cet environnement bloque le texte sur une seule page (qui peut être un avantage ou un inconvénient suivant les situations).

Pour résoudre (en partie) le problème, j'ai tapé cette environnement:

Code: Tout sélectionner
\newenvironment{pleinepage}{\begin{list}{}{\setlength{\leftmargin}{-3.9cm}}}{\end{list}}


Mon texte général du poly est sur une longueur de 14.2 cm, lorsque je tape l'environnement pleinepage, mon texte passe à 18.1 cm (14.2+3.9=...)

Le problème de cet environnement est qu'il travaille en relatif. Si mon texte a une largeur de 12 cm alors pleinepage aura une largeur de 15.9 cm (au lieu de 18.1 cm escompté).
J'ai essayé d'imposer une largeur absolue au texte, en vain pour moi mais peut être pas pour vous.

Merci pour vos réponses.

Gabriel
Dernière édition par GRSG le Jeudi 21 Mai 2009, 18:45, édité 1 fois.
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: modification de largeur de texte

Messagepar gigiair » Lundi 18 Mai 2009, 17:18

Le package chngpage semble être fait pour toi. La doc est dans le fichier chngpage.sty lui-même entre les lignes 153 et 311 ( version 2003/08/10 v1.2 ).
La commande (linux)
Code: Tout sélectionner
grep -A 158 Usage `kpsewhich chngpage.sty`|less
te permet l'accès à cette documentation.
Il y a des exemples.
Il y a deux commandes
\changetext{textheight}{textwidth}{evensidemargin}{oddsidemargin}{columnse
p}
\changepage{5 args}{topmargin}{headheight}{headsep}{footskip}
% The first 5 arguments are the same as for \changetext and have the same effect.

et un environnement
\begin{adjustwidth}[]{leftmargin}{rightmargin}
<snip>
\end{adjustwidth}
Dernière édition par gigiair le Mercredi 20 Mai 2009, 12:03, édité 1 fois.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2267
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: modification de largeur de texte

Messagepar GRSG » Mercredi 20 Mai 2009, 10:23

Bonjour,

J'ai donc téléchargé le fichier chngpage.sty. Il fonctionne en relatif puisque les longueurs saisies viennent se rajouter aux longueurs existantes.

Argh...

C'est possible qu'il ne puisse pas en être autrement.

Merci

A bientôt

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: modification de largeur de texte

Messagepar gigiair » Mercredi 20 Mai 2009, 12:03

GRSG a écrit:Bonjour,

J'ai donc téléchargé le fichier chngpage.sty. Il fonctionne en relatif puisque les longueurs saisies viennent se rajouter aux longueurs existantes.

Argh...

Peut-être est-il possible de prendre des longueurs elles mêmes contextuelles dans les arguments de \adjustwidth qui vont au final rendre la largeur fixe.
Je ne sais pas trop, je n'ai jamais essayé, je n'ai jamais eu ce problème.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2267
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: modification de largeur de texte

Messagepar pg » Mercredi 20 Mai 2009, 13:11

Si tout ce que tu veux c'est annuler les marges, tu peux jouer sur \@totalleftmargin et restaurer la longueur de ligne initiale :

Code: Tout sélectionner
\documentclass{article}
\usepackage{lipsum}
\let\originaltextwidth\textwidth
\makeatletter
\newenvironment{pleinepage}{\begin{list}{}{\linewidth=\originaltextwidth\@totalleftmargin=0cm\leftmargin=0cm}\item\relax}{\end{list}}
\makeatother
\begin{document}
\lipsum[1]
\begin{itemize}
    \item \lipsum[1]
\begin{pleinepage}
\lipsum[1]
\end{pleinepage}
   \item \lipsum[1]
\end{itemize}
\lipsum[1]
\begin{quotation}
\lipsum[1]
\begin{pleinepage}
\lipsum[1]
\end{pleinepage}
\lipsum[1]
\end{quotation}
\end{document}
pg
Modérateur
 
Messages: 2581
Inscription: Jeudi 14 Juin 2007, 23:31

Re: modification de largeur de texte

Messagepar GRSG » Jeudi 21 Mai 2009, 08:30

J'ai mis un peu de temps à comprendre le <<lipsum>>...

Donc ça marche très bien. C'est exactement qu'il me fallait.

Par contre, à quoi sert la commande \relax?

Merci
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: modification de largeur de texte

Messagepar pg » Jeudi 21 Mai 2009, 08:36

GRSG a écrit:Par contre, à quoi sert la commande \relax?

À éviter toute mauvaise surprise si on fait suivre \begin{pleinepage} par un crochet, du type :

Code: Tout sélectionner
\begin{pleinepage}
[commentaire] Bla bla
\end{pleinepage}

Sans le \relax, [commentaire] est pris comme argument de \item ce qui a priori n'est pas voulu.
pg
Modérateur
 
Messages: 2581
Inscription: Jeudi 14 Juin 2007, 23:31

Re: modification de largeur de texte

Messagepar GRSG » Jeudi 21 Mai 2009, 18:45

C'est encore parfait.

Merci

Gabriel
GRSG
Méga-utilisateur
 
Messages: 290
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot] et 9 invités