Espace vertical

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.

Espace vertical

Messagepar Valvino » Jeudi 21 Février 2008, 19:32

Bonjour,

Je souhaite obtenir un espace vertical d'une longueur d'un saut de ligne usuel via \vspace{\baselineskip} mais le problème c'est que si j'en place deux à la suite ca me fait deux sauts de ligne. Or je définis des environnements qui commencent et finissent par \vspace{\baselineskip}, parfois il y en a deux à la suite et ca me fait un saut trop important.

Y a-t-il une commande qui permet de sauter une hauteur vertical fixée en tenant compte des autres espaces verticaux adjacents?

Merci d'avance!
Valvino
Giga-utilisateur
 
Messages: 922
Inscription: Mercredi 21 Mars 2007, 10:59
Statut actuel: Post-bac | Master

Publicité

Re: Espace vertical

Messagepar D.GH » Jeudi 21 Février 2008, 20:39

Valvino a écrit:Bonjour,

Je souhaite obtenir un espace vertical d'une longueur d'un saut de ligne usuel via \vspace{\baselineskip} mais le problème c'est que si j'en place deux à la suite ca me fait deux sauts de ligne. Or je définis des environnements qui commencent et finissent par \vspace{\baselineskip}, parfois il y en a deux à la suite et ca me fait un saut trop important.

Y a-t-il une commande qui permet de sauter une hauteur vertical fixée en tenant compte des autres espaces verticaux adjacents?
Merci d'avance!


Bonsoir,

soit
Code: Tout sélectionner
\newlength{\Malongueur}
\setlength{\Malongueur}{2\baselineskip}
\vspace*{\the\Malongueur}


soit
Code: Tout sélectionner
....................  \\[2\baselineskip]
...............................

D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Espace vertical

Messagepar Valvino » Vendredi 22 Février 2008, 10:44

Salut,

Je viens de tester tes solutions, mais ce n'est pas du tout ce que je veux. Je vais essayer d'être plus clair via un ECM.

J'ai défini deux nouveaux environnements qui sont "prop" et "demo" (je ne veux pas utiliser les trucs déjà fait pour diverses raisons...).

Code: Tout sélectionner
\documentclass{article}

\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}

\newenvironment{prop}{ \vspace{\baselineskip} \noindent \textbf{Proposition} \\ }{ \vspace{\baselineskip} }
\newenvironment{demo}{ \vspace{\baselineskip} \noindent \emph{Démonstration} \\ }{ \vspace{\baselineskip} }

\begin{document}

\noindent

Je fais un essai.

\begin{prop}
blabla
\end{prop}

Jusqu'ici tout va bien il y a un saut de ligne. Mais

\begin{prop}
blabla
\end{prop}

\begin{demo}
Là il y en a deux fois trop!
\end{demo}

C'est un problème...

\end{document}


En fait le vspace de "prop" et celui de "demo" s'additionne si j'utilise les deux à la suite, alors que je voudrais que LaTeX ne prenne en compte que l'un des deux.
Valvino
Giga-utilisateur
 
Messages: 922
Inscription: Mercredi 21 Mars 2007, 10:59
Statut actuel: Post-bac | Master

Re: Espace vertical

Messagepar pg » Vendredi 22 Février 2008, 12:44

Utilises-donc un package fait pour les théorèmes qui gère automatiquement de genre de problèmes, comme amsthm :

Code: Tout sélectionner
\documentclass{article}

\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}

\newenvironment{prop}{ \vspace{\baselineskip} \noindent \textbf{Proposition} \\ }{ \vspace{\baselineskip} }
\newenvironment{demo}{ \vspace{\baselineskip} \noindent \emph{Démonstration} \\ }{ \vspace{\baselineskip} }

\usepackage{amsthm}

\newtheoremstyle{plain}{\baselineskip}{\baselineskip}%
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font   
  {}%        Punctuation after thm head
  {\newline}%     Space after thm head (\newline = linebreak)
  {\thmname{#1}\thmnumber{~#2}\thmnote{ #3}}%         Thm head spec

\theoremstyle{plain}
\newtheorem*{proposition}{Proposition}

\newtheoremstyle{remark}{\baselineskip}{\baselineskip}%
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\itshape}% Thm head font   
  {}%        Punctuation after thm head
  {\newline}%     Space after thm head (\newline = linebreak)
  {\thmname{#1}\thmnumber{~#2}\thmnote{ #3}}%         Thm head spec

\theoremstyle{remark}
\newtheorem*{demonstration}{Démonstration}

\begin{document}

\noindent

Je fais un essai.

\begin{prop}
blabla
\end{prop}

Jusqu'ici tout va bien il y a un saut de ligne. Mais

\begin{prop}
blabla
\end{prop}

\begin{demo}
Là il y en a deux fois trop!
\end{demo}

C'est un problème...

---------------------

Je fais un essai.

\begin{proposition}
blabla
\end{proposition}

Jusqu'ici tout va bien il y a un saut de ligne. Mais

\begin{proposition}
blabla
\end{proposition}

\begin{demonstration}
Là il y en a deux fois trop!
\end{demonstration}

\end{document}
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Espace vertical

Messagepar D.GH » Vendredi 22 Février 2008, 17:53

Bonsoir,

Pour le retour à ligne dans un environnement théorème, en plus de ce qui a été proposé par pg , voir ici http://forum.mathematex.net/post54996.html#p54996

D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Espace vertical

Messagepar Valvino » Vendredi 22 Février 2008, 18:04

Mais c'est justement parce que je veux éviter d'utiliser les packages déjà fait pour faire des théorèmes que je fais mes propres environnements!

Merci de vos conseils mais ca ne répond pas à ma question :wink:
Valvino
Giga-utilisateur
 
Messages: 922
Inscription: Mercredi 21 Mars 2007, 10:59
Statut actuel: Post-bac | Master

Re: Espace vertical

Messagepar pg » Vendredi 22 Février 2008, 18:11

Valvino a écrit:Mais c'est justement parce que je veux éviter d'utiliser les packages déjà fait pour faire des théorèmes que je fais mes propres environnements!

L'intérêt d'utiliser des packages déjà fait est justement de pouvoir bénéficier simplement de fonctionnalités éventuellement compliquées à gérer.

Je ne sais pas pour quelle raison tu ne veux pas de package tout fait, mais il doit être possible de regarder comment amsthm fait pour gérer les espacements et adapter le code (je n'ai pas regardé, donc je ne peux pas te dire si c'est simple ou pas).
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Espace vertical

Messagepar D.GH » Vendredi 22 Février 2008, 18:31

Valvino a écrit:Mais c'est justement parce que je veux éviter d'utiliser les packages déjà fait pour faire des théorèmes que je fais mes propres environnements!

Merci de vos conseils mais ca ne répond pas à ma question :wink:


Bonsoir,

Est-ce que l'ECM suivant répond à ce que vous souhaitiez ?

Code: Tout sélectionner
% http://www.cnam.fr/depts/maths/Membres/ghorbanzadeh/

\documentclass{article}
\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}

\def\EspaceV{\vspace*{\the\baselineskip}}
\newenvironment{prop}{%
\begin{minipage}{\linewidth}\EspaceV\noindent\textbf{Proposition} \newline}{
\EspaceV
\end{minipage}}

\newenvironment{demo}{%
\begin{minipage}{\linewidth}\EspaceV \noindent\emph{D\'emonstration}\newline}{
\EspaceV
\end{minipage}}

\begin{document}

\noindent

Je fais un essai.

\begin{prop}
blabla
\end{prop}

Jusqu'ici tout va bien il y a un saut de ligne. Mais

\begin{prop}
blabla
\end{prop}

\noindent  Bonjour bonjour Bonjour bonjourBonjour bonjourBonjour bonjour \\

\begin{demo}
Là il y en a deux fois trop!
\end{demo}

C'est un problème...

\end{document}


D.GH
D.GH
Méga-utilisateur
 
Messages: 398
Inscription: Lundi 02 Juillet 2007, 15:15

Re: Espace vertical

Messagepar pg » Samedi 23 Février 2008, 17:40

pg a écrit:
Valvino a écrit:Mais c'est justement parce que je veux éviter d'utiliser les packages déjà fait pour faire des théorèmes que je fais mes propres environnements!

L'intérêt d'utiliser des packages déjà fait est justement de pouvoir bénéficier simplement de fonctionnalités éventuellement compliquées à gérer.

Je ne sais pas pour quelle raison tu ne veux pas de package tout fait, mais il doit être possible de regarder comment amsthm fait pour gérer les espacements et adapter le code (je n'ai pas regardé, donc je ne peux pas te dire si c'est simple ou pas).

En fait, non c'est pas compliqué. Il suffit de remplacer vspace par addvspace et tu obtiendra ce que tu veux :

Code: Tout sélectionner
\documentclass{article}

\usepackage[frenchb]{babel}
\usepackage[latin1]{inputenc}

\newenvironment{prop}{ \addvspace{\baselineskip} \noindent \textbf{Proposition} \\ }{\par\addvspace{\baselineskip}}
\newenvironment{demo}{ \addvspace{\baselineskip} \noindent \emph{Démonstration} \\ }{\par\addvspace{\baselineskip}}

\begin{document}

\noindent

Je fais un essai.

\begin{prop}
blabla
\end{prop}

Jusqu'ici tout va bien il y a un saut de ligne. Mais

\begin{prop}
blabla
\end{prop}

\begin{demo}
Là c'est aussi parfait
\end{demo}

Il n'y a pas de problème


\end{document}
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Espace vertical

Messagepar Valvino » Dimanche 24 Février 2008, 18:27

Nickel :D :D :D

Juste une question, à quoi sert le \par?
Valvino
Giga-utilisateur
 
Messages: 922
Inscription: Mercredi 21 Mars 2007, 10:59
Statut actuel: Post-bac | Master

Re: Espace vertical

Messagepar pg » Dimanche 24 Février 2008, 18:41

À terminer le paragraphe en cours pour mettre l'espace après ce paragraphe.

Sinon, tu n'as pas répondu : pourquoi tu ne veux pas utiliser des packages tout fait pour tes théorèmes ? Ça te simplifierai probablement la vie.
pg
Modérateur
 
Messages: 2590
Inscription: Jeudi 14 Juin 2007, 23:31


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google Adsense [Bot], Proximic [Spider] et 38 invités