Colonnes

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.

Colonnes

Messagepar germaine » Samedi 18 Juin 2005, 19:54

hello,
petite question technique : comment faire des colonnes sous latex??
germaine
Utilisateur
 
Messages: 1
Inscription: Samedi 18 Juin 2005, 19:31

Publicité

Messagepar MB » Samedi 18 Juin 2005, 20:07

Pour écrire sur plusieurs colonnes (ou mettre du texte à côté d'une image), j'utilise l'environnement minipage. Une minipage est, comme son nom l'indique, une petite page (dont on peut définir les dimensions) dans laquelle on va pouvoir travailler comme dans une vraie page et que l'on positionnera ensuite dans la vraie page.

Code: Tout sélectionner
\begin{minipage}[c]{0.5\linewidth}
\end{minipage}


Cette commande va permettre de réaliser une minipage dont la largeur sera égale à la moitié de celle de la vraie page. Les éléments contenus dans cette minipage seront centrés verticalement (option [c]) en fonction de la hauteur de cette minipage (qui n'est pas fixée).

On peut par exemple, utiliser minipage ainsi :

Code: Tout sélectionner
\begin{minipage}[c]{0.55\linewidth}

\end{minipage} \hfill
\begin{minipage}[c]{0.40\linewidth}
\begin{center}
   \includegraphics[width = 60mm]{Figure.jpg}
\end{center}
\end{minipage}


On obtient donc deux minipages alignées horizontalement (commande \hfill). On pourra placer du texte dans celle de gauche et la Figure.jpg sera placée dans celle de droite.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Messagepar P.Fradin » Dimanche 19 Juin 2005, 21:44

Vous avez les environnements de tableaux (tabular et array) qui permettent de faire des colonnes, mais si vous voulez écrire toute une page ou une partie seulement d'une page sur plusieurs colonnes comme dans un journal, vous avec le package multicol:

Code: Tout sélectionner
\usepackage{multicol}
\begin{multicols}{2}
bla bla bla....
\end{multicols}


Tout le blabla est coupé en colonnes équilibrées (2 dans mon exemple mais on peut changer) automatiquement.
P.Fradin
 

Re: Colonnes

Messagepar Dryss » Mardi 11 Mai 2010, 13:39

Bonjour,

Je viens de tomber sur cet article, et j'avoue que l'astuce de la double minipage m'intéresse beaucoup (puisque l'environnement \wrapfigure ne semble pas fonctionner correctement chez moi).

J'aurais aimé savoir s'il existe une commande pour ajuster la largeur de la première minipage, qui contient ma figure, en fonction de la taille de celle ci, et donc que la minipage qui l'accompagne, contenant le texte allant avec le dessin, prenne la largeur restante.

Tout en sachant de plus que je n'utilise pas la commande \includegraphics, mais je génère ma figure grâce à Géogebra et je l'importe en TikZ.

Merci pour vos réponses !
TZR en lycée dans l'académie de Lyon.
Dryss
Déca-utilisateur
 
Messages: 19
Inscription: Dimanche 09 Mai 2010, 11:45
Statut actuel: Actif et salarié | Enseignant

Re: Colonnes

Messagepar MB » Mardi 11 Mai 2010, 14:22

Dryss a écrit:J'aurais aimé savoir s'il existe une commande pour ajuster la largeur de la première minipage, qui contient ma figure, en fonction de la taille de celle ci, et donc que la minipage qui l'accompagne, contenant le texte allant avec le dessin, prenne la largeur restante.


Pas sûr du tout que ça fonctionne (je n'ai de plus jamais utilisé) mais tu peux essayer à l'aide du module varwidth qui semble définir un environnement de type minipage mais pour lequel la largeur s'adapte au contenu ...
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Colonnes

Messagepar pg » Mardi 11 Mai 2010, 16:08

Dryss a écrit:J'aurais aimé savoir s'il existe une commande pour ajuster la largeur de la première minipage, qui contient ma figure, en fonction de la taille de celle ci, et donc que la minipage qui l'accompagne, contenant le texte allant avec le dessin, prenne la largeur restante.

On peut récupérer la largeur d'une image, mais ici le plus simple est probablement de recourir à un tableau avec le package tabularx :

Code: Tout sélectionner
\documentclass{article}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{lipsum}
\begin{document}
\begin{tabularx}{\textwidth}{cX}
\fbox{\parbox[t][5cm]{6.35cm}{image de 6.35cm et 5cm de haut}}
& \lipsum[1] \\
\end{tabularx}
\end{document}


Dryss a écrit:l'environnement \wrapfigure ne semble pas fonctionner correctement chez moi

Si le texte est plus long que l'image n'est haute, {wrapfigure} donnera de meilleurs résultats que des minipages ou des tableaux. Voici un exemple d'utilisation :

Code: Tout sélectionner
\documentclass{article}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\begin{wrapfigure}{l}{0cm}
\fbox{\parbox[c][5cm]{6.35cm}{\centering image de 6.35cm et 5cm de haut}}
\end{wrapfigure}
\lipsum[1]
\end{document}

Si ça ne fonctionne pas correctement dans le document réel, il faudrait donner le code utilisé pour voir.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Colonnes

Messagepar Dryss » Mercredi 12 Mai 2010, 00:12

pg, MB : Merci pour vos réponses !

pg : Mon soucis avec wrapfigure est qu'il me met la figure tout à la fin du document, ça déborde sur plusieurs paragraphes (et pire, ça me met un joli bordel au niveau de mes titres de sections et sous sections), mais je pense que c'est dû à l'utilisation d'un environnement "quote". J'ai cru comprendre (après quelques heures de fouille intensive sur internet), que wrapfigure ne fonctionnait que dans un paragraphe normal. Voici mon code :

Code: Tout sélectionner
\documentclass[a4paper,11pt]{article}
\usepackage[francais]{babel}
\usepackage{amssymb} % pack pour les maths
\usepackage{amsmath} % pour utiliser les dfrac et les binomiaux.
\usepackage{wrapfig}
\usepackage{graphicx} %graphiques, figures, dessins...
\usepackage{pstricks,pstricks-add,pst-math,pst-xkey}
\usepackage{pgf,tikz}
\usetikzlibrary{calc}
\usepackage{pgflibraryarrows} % librairie liée à tikz
\usepackage{pgflibrarysnakes}
\usepackage{xcolor} % module de couleur pour tikz
\usepackage{multicol}

\newenvironment{meth}  {\begin{quote} {\bf M\'ethode : }}  {\end{quote}}

\begin{document}

% Plein de blabla sur la leçon 24 sur Thalès pour le CAPES

\begin{meth}

\begin{wrapfigure}{r}{0.2\linewidth}
\shorthandoff{:} % sinon babel entre en conflit avec tikz
\definecolor{ffqqqq}{rgb}{1,0,0}
\definecolor{zzttqq}{rgb}{0.6,0.2,0}
\definecolor{uququq}{rgb}{0.25,0.25,0.25}
\definecolor{qqqqff}{rgb}{0,0,1}
\begin{tikzpicture}[scale=0.5,line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
%BLABLABLA ma figure
\end{tikzpicture}
\end{wrapfigure}

La parall\`ele \`a la droite (AB) passant par un point C se construit \`a l'aide de la propri\'et\'e de la droite des milieux. On construit le sym\'etrique C1 du point C par rapport  \`a A puis le sym\'etrique C2 du point C1 par rapport  \`a B. la droite recherch\'ee est la droite (CC2).
\end{meth}

% A nouveau du blabla.
 \end{document}



C'est grave docteur ? Merci encore de prendre du temps pour répondre !
TZR en lycée dans l'académie de Lyon.
Dryss
Déca-utilisateur
 
Messages: 19
Inscription: Dimanche 09 Mai 2010, 11:45
Statut actuel: Actif et salarié | Enseignant

Re: Colonnes

Messagepar pg » Mercredi 12 Mai 2010, 01:17

Dryss a écrit:je pense que c'est dû à l'utilisation d'un environnement "quote".

Il n'est effectivement pas possible de mettre une {wrapfigure} dans un {quote} (elle se met alors à flotter et peut se retrouver un peu n'importe où).

La "bonne" façon de faire dépend un peu de comment est utilisé l'environnement {meth} (si les images sont tout le temps de la même taille que le texte, un tableau conviendra). S'il faut vraiment une {wrapfigure} parce que le texte peut déborder, on peut essayer de faire ainsi :

Code: Tout sélectionner
\documentclass[a4paper,11pt]{article}
\usepackage[francais]{babel}
\usepackage{amssymb} % pack pour les maths
\usepackage{amsmath} % pour utiliser les dfrac et les binomiaux.
\usepackage{wrapfig}
\usepackage{graphicx} %graphiques, figures, dessins...
\usepackage{pstricks,pstricks-add,pst-math,pst-xkey}
\usepackage{pgf,tikz}
\usetikzlibrary{calc}
\usepackage{pgflibraryarrows} % librairie liée à tikz
\usepackage{pgflibrarysnakes}
\usepackage{xcolor} % module de couleur pour tikz
\usepackage{multicol}
\usepackage{lipsum}

% hack pour obtenir des majuscules droites en mode mathématique
% --> pour le faire proprement, utiliser une police qui a une option upright du genre fourier
\DeclareMathSymbol{A}{\mathalpha}{operators}{`A}
\DeclareMathSymbol{B}{\mathalpha}{operators}{`B}
\DeclareMathSymbol{C}{\mathalpha}{operators}{`C}
\DeclareMathSymbol{D}{\mathalpha}{operators}{`D}
\DeclareMathSymbol{E}{\mathalpha}{operators}{`E}
\DeclareMathSymbol{F}{\mathalpha}{operators}{`F}
\DeclareMathSymbol{G}{\mathalpha}{operators}{`G}
\DeclareMathSymbol{H}{\mathalpha}{operators}{`H}
\DeclareMathSymbol{I}{\mathalpha}{operators}{`I}
\DeclareMathSymbol{J}{\mathalpha}{operators}{`J}
\DeclareMathSymbol{K}{\mathalpha}{operators}{`K}
\DeclareMathSymbol{L}{\mathalpha}{operators}{`L}
\DeclareMathSymbol{M}{\mathalpha}{operators}{`M}
\DeclareMathSymbol{N}{\mathalpha}{operators}{`N}
\DeclareMathSymbol{O}{\mathalpha}{operators}{`O}
\DeclareMathSymbol{P}{\mathalpha}{operators}{`P}
\DeclareMathSymbol{Q}{\mathalpha}{operators}{`Q}
\DeclareMathSymbol{R}{\mathalpha}{operators}{`R}
\DeclareMathSymbol{S}{\mathalpha}{operators}{`S}
\DeclareMathSymbol{T}{\mathalpha}{operators}{`T}
\DeclareMathSymbol{U}{\mathalpha}{operators}{`U}
\DeclareMathSymbol{V}{\mathalpha}{operators}{`V}
\DeclareMathSymbol{W}{\mathalpha}{operators}{`W}
\DeclareMathSymbol{X}{\mathalpha}{operators}{`X}
\DeclareMathSymbol{Y}{\mathalpha}{operators}{`Y}
\DeclareMathSymbol{Z}{\mathalpha}{operators}{`Z}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% gestion des figures dans l'environnement {meth} %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\thefigureautiliser}{}
\newcommand{\figureautiliser}[1]{%
  \renewcommand{\thefigureautiliser}{#1}%
}
\newcommand{\longempty}{}
\newenvironment{meth}
  {%
   \par\addvspace{6pt}%
   \leftskip=2.5em
   \rightskip=2.5em
   \ifx\thefigureautiliser\longempty\else
   \begin{wrapfigure}{r}{0cm}%
     \hspace*{-5em}%
     \thefigureautiliser
     \hspace*{5em}\null
   \end{wrapfigure}%
   \fi
   \long\gdef\thefigureautiliser{}%
   \noindent{\bfseries M\'ethode : }\ignorespaces
  }
  {%
   \par\addvspace{6pt}%
  }

\begin{document}

% Plein de blabla sur la leçon 24 sur Thalès pour le CAPES

\lipsum[1]

\section{Titre}

\shorthandoff{:}
\figureautiliser{%
\definecolor{ffqqqq}{rgb}{1,0,0}%
\definecolor{zzttqq}{rgb}{0.6,0.2,0}%
\definecolor{uququq}{rgb}{0.25,0.25,0.25}%
\definecolor{qqqqff}{rgb}{0,0,1}%
\begin{tikzpicture}[scale=0.5,line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
BLABLABLA ma figure
\draw (-30:3cm) -- (90:3cm) -- (210:3cm) -- cycle;
\end{tikzpicture}
}
\shorthandon{:}

\begin{meth}
La parall\`ele \`a la droite $(AB)$ passant par un point $C$ se construit \`a l'aide de la propri\'et\'e de la droite des milieux. On construit le sym\'etrique $C_1$ du point $C$ par rapport  \`a $A$ puis le sym\'etrique $C_2$ du point $C_1$ par rapport  \`a $B$. La droite recherch\'ee est la droite $(CC_2)$.
\end{meth}

\lipsum[10]

\shorthandoff{:}
\figureautiliser{%
\begin{tikzpicture}[scale=0.5]
\draw[->] (-5,0)--(5,0);
\draw[->] (0,-5)--(0,5);
\clip (-5,-5) rectangle (5,5);
\draw[domain=-5:5,samples=500,very thick] plot (\x,{\x*\x*\x});
\end{tikzpicture}
}
\shorthandon{:}

\begin{meth}
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
%\vspace{2cm}% a decommenter pour que la figure ne chevauche pas le texte
\end{meth}

\lipsum[1]

\begin{meth}
\lipsum[2]
\end{meth}

\lipsum[3]

\figureautiliser{%
\fbox{image}
}

\begin{meth}
\lipsum[4]
\end{meth}

\end{document}

Quelques petites remarques :
  • les figures doivent être mises dans la commande \figureautiliser juste avant la méthode qui doit être illustrée par la figure en question ;
  • si la figure est trop grande pour le texte, ajouter un \vspace{...} à la fin du texte pour éviter tout chevauchement avec le texte suivant la méthode ;
  • il faut désormais placer \shorthandoff{:} avant \figureautiliser (pas dedans, cela n'aurait aucun effet) et mettre un \shorthandon{:} après ;
  • attention aux espaces parasites après les \definecolor, ils rajoutent du blanc entre l'image et le texte ; il faut penser à mettre des % à la fin des lignes en question ;
  • j'ai mis tout ce qui était mathématiques entre dollars et changé la façon dont se comportent les majuscules pour qu'elles soient droites (en supposant que c'est l'effet voulu).
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Colonnes

Messagepar Dryss » Mercredi 12 Mai 2010, 09:22

pg : Merci encore ! (Mandieu comme ce site est sympa, une question ? hop une réponse en moins de 24h ! Rassurez moi : Vous êtes payés ? ^^)

Je suis un utilisateur assez novice de LaTeX, j'apprends par moi même et c'est pour ça que je ne connais pas vraiment les trucs et astuces. Je viens d'en apprendre une nouvelle, les "%" pour éviter les blancs, merci, car tu réponds à une question que je n'avais pas posée !

Donc merci encore !
TZR en lycée dans l'académie de Lyon.
Dryss
Déca-utilisateur
 
Messages: 19
Inscription: Dimanche 09 Mai 2010, 11: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: Baidu [Spider], DotBot [Crawler], Google [Bot], Google Adsense [Bot] et 21 invités