Espacement vertical

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
nico307
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 21 septembre 2008, 10:49

Espacement vertical

Message par nico307 »

bonjour,

j'aimerai créer des espacements verticaux de longueurs variables qui puissent démarrer sur une fin de page et continuer sur la suivante.
cependant :

\vspace est ignoré en fin de page ou ne donne un espace vertical qui ne continue pas sur la page suivante
\vspace* donne un espacement vertical de la longueur voulue mais le place forcément sur une page entière

pouvez vous m'aider? merci

nico307

evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1460
Inscription : vendredi 19 décembre 2008, 19:13
Localisation : Bordeaux

Re: espacement vertical

Message par evariste_G »

Bonjour.
Je ne suis pas sûr d'avoir compris mais peut-être pourrais-tu essayer, faut de mieux :

Code : Tout sélectionner

\vspace{xx cm}
\phantom{x}
\pagebreak
\vspace{yy cm}
Non ?
Mathématiques, LaTeX et Python : https://www.mathweb.fr
Cours particuliers par webcam : https://cours-maths-webcam.fr

nico307
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 21 septembre 2008, 10:49

Re: Espacement vertical

Message par nico307 »

effectivement, ce que tu proposes fonctionne si on échange \pagebreak et \phantom{x}. merci evariste_G

cependant , ce qui m'intéresse plus précisément consisterait à écrire une seule fois la longueur totale.

exemple : je finis de taper un paragraphe et je veux ensuite un espace vertical de 15cm.
J'aimerai que ma commande crée un espace vertical de 15 cm immédiatement après mon texte (sur la même page, s'il y a assez de place, sur le restant de la page puis ce qui manque sur la page suivante, dans le cas contraire)

peut-être ma demande est mal formulée ... merci en tout cas.
nico307

MB
Administrateur
Administrateur
Messages : 7189
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Espacement vertical

Message par MB »

Il faudrait peut être essayer avec la commande tex \vglue !
Dans TEX pour l’Impatient on trouve :
La commande \hglue produit un ressort horizontal qui ne disparaît pas sur une coupure de ligne. La commande \vglue produit un ressort vertical qui ne disparaît pas sur une coupure de page. Pour le reste ces commandes sont comme \hskip et \vskip. Vous pouvez utiliser \vglue pour produire de l’espace blanc en haut d’une page, par exemple, au dessus d’un titre sur la première page d’un document, mais \topglue (suivant) est normalement plus approprié pour cet usage.
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: Espacement vertical

Message par pg »

nico307 a écrit :exemple : je finis de taper un paragraphe et je veux ensuite un espace vertical de 15cm.
J'aimerai que ma commande crée un espace vertical de 15 cm immédiatement après mon texte (sur la même page, s'il y a assez de place, sur le restant de la page puis ce qui manque sur la page suivante, dans le cas contraire)
On peut découper l'espace en portions de 1cm (c'est-à-dire transformer le \vspace{15cm} en 15 fois \vspace*{1cm}\allowbreak). Un moyen de faire :

Code : Tout sélectionner

\documentclass{article}

\newlength{\remaningvspace}
\newcommand{\breakablevspace}[1]{%
  \setlength{\remaningvspace}{#1}%
  \ifdim\remaningvspace>0.9cm
    \vspace*{1cm}\allowbreak
    \addtolength{\remaningvspace}{-1cm}%
    \breakablevspace{\remaningvspace}%
  \fi
}

\begin{document}

\vspace*{5cm}

Bla bla bla

\breakablevspace{15cm}

Bla bla bla

\end{document}

nico307
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 21 septembre 2008, 10:49

Re: Espacement vertical

Message par nico307 »

merci MB : \vglue correspond effectivement sur sa déf à ce que je recherche mais je n'arrive pas à bien l'utiliser car je ne parviens pas à obtenir ce que je veux, peut-être je ne comprends pas les subtilités de cette commande...

merci pg : tes lignes de commandes s'insèrent bien dans mes macros et produisent exactement ce que je veux.

cordialement,
nico307

MB
Administrateur
Administrateur
Messages : 7189
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Espacement vertical

Message par MB »

nico307 a écrit :merci MB : \vglue correspond effectivement sur sa déf à ce que je recherche mais je n'arrive pas à bien l'utiliser car je ne parviens pas à obtenir ce que je veux, peut-être je ne comprends pas les subtilités de cette commande...
Oui, j'ai testé vite fait mais ça ne semble pas fonctionner tout à fait !
Si quelqu'un a de plus amples informations sur cette commande ... :roll:
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: Espacement vertical

Message par pg »

Ce que je lis dans la description de \vglue citée plus haut, c'est juste que si elle est en haut d'une page, elle ne disparaît pas ; le comportement (sur ce point) est donc le même que \vspace* (de fait, "\pagebreak\vglue 15cm" donnera un espace vertical de 15cm tout comme "\pagebreak\vspace*{15cm}" ; à contraster avec "\pagebreak\vskip 15cm" ou "\pagebreak\vspace{15cm}" qui donneront un espace vertical de 0cm). Aucune de ces commandes ne se coupent automatiquement en deux morceaux s'il ne reste pas assez d'espace sur la page.

MB
Administrateur
Administrateur
Messages : 7189
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Espacement vertical

Message par MB »

Merci pour la précision, même si ça n'est pas ce que je comprends au niveau de la documentation. Mais bon ! :D
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.