Remplir le reste de la page avec des points (à nouveau)
J'ai la même question que Remplir le reste de la page avec des points . Autrement dit, je veux remplir le reste de la page avec des points. La réponse acceptée est presque parfaite, mais lorsque je l'utilise à l'intérieur \begin{enumeration}
, les points ne sont pas correctement en retrait. Y a-t-il un moyen de le faire fonctionner?
J'ai trouvé des réponses dans d'autres articles suggérant que leavevmode
cela aiderait, mais cela ne semble pas fonctionner partout où je l'ajoute.
Edité: voici le code que j'ai essayé. J'ai simplement ajouté leavevmode
devant cleaders
en plus de la réponse acceptée susmentionnée.
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{lipsum}
\makeatletter
\newcommand*\dotcolumnfill{%
\par
\null
\vskip -\ht\strutbox
\xleaders \hb@xt@ \hsize {%
\strut \leavevmode \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
}\vfill
\vskip \ht\strutbox
\break
}
\makeatother
\begin{document}
\begin{enumerate}
\item \lipsum*[1]
\dotcolumnfill
\item \lipsum*[2]
\end{enumerate}
\end{document}
Voici le résultat:

Réponses
Vous pouvez utiliser le linegoal
package pour déterminer la largeur de la colonne de points. Cela nécessite 3 compilations pour régler la valeur correcte.
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{linegoal}
\usepackage{lipsum}
\makeatletter
\newcommand*\dotcolumnfill{%
\par\noindent\mbox{}\@tempdima=\dimexpr\linewidth-\linegoal
\null
\vskip -\ht\strutbox
\xleaders \hb@xt@ \hsize {%
\hspace{\@tempdima}\strut \leavevmode \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
}\vfill
\vskip \ht\strutbox
\break
}
\makeatother
\begin{document}
\makeatletter
\begin{enumerate}
\item \lipsum*[1]
\dotcolumnfill
\item \lipsum*[2]
\end{enumerate}
\lipsum*[3]
\dotcolumnfill
\end{document}

Quant à la question supplémentaire soulevée dans les commentaires.
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{linegoal}
\usepackage{lipsum}
\makeatletter
\newcommand*\dotcolumnfill[1][0]{%
\par\noindent\mbox{}\@tempdima=\dimexpr\linewidth-\linegoal
\null
\vskip -\ht\strutbox
\ifnum#1=0\relax
\xleaders \hb@xt@ \hsize {%
\hspace{\@tempdima}\strut \leavevmode \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
}\vfill
\vskip \ht\strutbox
\break
\else
\@tempcnta=0\relax
\loop
\advance\@tempcnta by1\relax
\hb@xt@ \hsize {%
\hspace{\@tempdima}\strut \leavevmode \cleaders \hb@xt@ .44em{\hss.\hss}\hfill
}%
\ifnum\@tempcnta<#1\relax
\repeat
\fi
}
\makeatother
\begin{document}
\makeatletter
\begin{enumerate}
\item \lipsum*[1]
\dotcolumnfill
\item \lipsum*[2]
\dotcolumnfill[4]
\item \lipsum*[3]
\end{enumerate}
\lipsum*[4]
\dotcolumnfill
\end{document}

Veuillez vérifier avec la macro ci-dessous.
\makeatletter
\newcommand*\dotcolumnfill{%
\par
\null
\vskip -\ht\strutbox
\xleaders \hb@xt@ \hsize {%
\strut \leavevmode \hphantom{1111l}\cleaders \hb@xt@ .44em{\hss.\hss}\hfill
}\vfill
\vskip \ht\strutbox
\break
}
\makeatother
