Remplir le reste de la page avec des points (à nouveau)

Dec 23 2020

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 leavevmodecela aiderait, mais cela ne semble pas fonctionner partout où je l'ajoute.

Edité: voici le code que j'ai essayé. J'ai simplement ajouté leavevmodedevant cleadersen 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

3 Noname Dec 23 2020 at 12:46

Vous pouvez utiliser le linegoalpackage 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}

Saravanan Dec 23 2020 at 11:42

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