Le texte ne prend pas d'espace

Sep 08 2020

Je veux composer du texte pendant que LaTeX ignore l'espace que le texte prendra. Dans le MWE ci-dessous, l'utilisation d'une image de taille zéro accomplit ce que \raiseboxne fait pas l' utilisation d'un .

 % nospacetextprob.tex
\documentclass{report} % but could be book, article, etc
\usepackage{picture}
\usepackage{lipsum}

\newcommand{\shiftpic}{\begin{picture}(0,0)\put(0,-1.1\textheight){\textbf{shiftpic}}\end{picture}}
\newcommand{\shifttext}{\raisebox{-1.1\textheight}{\textbf{shifttext}}}

\begin{document}
\shiftpic 
%  \hspace{6em} \shifttext
\lipsum[1-3]
\end{document}

Les deux \shiftpicet \shifttextsont censés placer leur argument sous le \textheight. \shiftpicfonctionne bien mais \shifttextajoute quelques pages au document.

J'ai de vagues souvenirs de certains codes TeX qui annulent l'espace vertical occupé par du texte. Appelez ça comme \nospaceça \nospace{\shiftit}fonctionnerait \shiftpic. Quelqu'un peut-il me le rappeler?

Réponses

1 egreg Sep 09 2020 at 00:40

Vous devez annuler la hauteur et la profondeur, mais aussi la largeur.

\documentclass{report} % but could be book, article, etc
\usepackage{picture}
\usepackage{lipsum}

\newcommand{\shiftpic}{\begin{picture}(0,0)\put(0,-1.1\textheight){\textbf{shiftpic}}\end{picture}}
\newcommand{\shifttext}{\makebox[0pt][l]{\raisebox{-1.2\textheight}[0pt][0pt]{\textbf{shifttext}}}}

\begin{document}
\shiftpic\shifttext
\lipsum[1-3]
\end{document}