Как заполнить вертикальные пространства пунктирными горизонтальными линиями?

Как заполнить вертикальные пространства пунктирными горизонтальными линиями?

Я уверен, что это дубликат, но я не могу его найти.

Я готовлю рабочий лист для студентов, чтобы они могли использовать его при начале работы над заданием. Вот (естественно, подслащенная) версия кода:

\documentclass{article}
\usepackage{kantlipsum}
\begin{document}
  \begin{flushleft}
    Toffee or caramel? \dotfill\medskip

    Fudge fantasy fiction: \dotfill\medskip

    Curious confectionery connections: \dotfill\medskip\par\mbox{}\dotfill\bigskip
  \end{flushleft}

  \kant[1]\bigskip

  \begin{flushleft}
    What do you like best about your preferred confection?\vfill

    What are the health implications?\vfill

    Does your preferred confection taste really good or just good?
    If the latter, how might it be improved?\vfill

  \end{flushleft}
\end{document}

Это производит:

рабочий лист (подслащенный)

Я хотел бы заменить пробелы, созданные командами, \vfillна пунктирные горизонтальные линии. Возможно ли сделать это аккуратно/красиво и автоматически?

Я знаю, что пакеты для экзаменов и тестов предлагают что-то подобное в некоторых случаях, но я не могу воспользоваться специализированным examклассом в этом случае, потому что это всего лишь одна страница в пакете материалов.

Также не возникает особых проблем с заполнением целых страниц таким способом, например, для создания линованной или клетчатой ​​бумаги различных видов.

Этот ответотвечает на аналогичный вопрос, но я не уверен, как его изменить, и не хочу жестко задавать ширину текста.

При необходимости я могу сделать это с помощью TikZ, но я надеялся, что есть более простой способ.

решение1

Вот код, украденный из examкласса и слегка измененный.

\documentclass{article}
\usepackage{kantlipsum}

\makeatletter
\newlength\dottedlinefillheight
\setlength\dottedlinefillheight{.25in}

\def\fillwithdottedlines{%
  \begingroup
  \ifhmode
    \par
  \fi
  \hrule height \z@
  \nobreak
  \setbox0=\hbox to \hsize{\hskip \@totalleftmargin
          \vrule height \dottedlinefillheight depth \z@ width \z@
          \dotfill}%
  \cleaders \copy0 \vfill \hbox{}%
  \endgroup
}
\makeatother

\begin{document}

  \begin{flushleft}
    Toffee or caramel? \dotfill\medskip

    Fudge fantasy fiction: \dotfill\medskip

    Curious confectionery connections: \dotfill\medskip\par\mbox{}\dotfill\bigskip
  \end{flushleft}

  \kant[1]\bigskip

  \begin{flushleft}
    What do you like best about your preferred confection?\fillwithdottedlines

    What are the health implications?\fillwithdottedlines

    Does your preferred confection taste really good or just good?
    If the latter, how might it be improved?\fillwithdottedlines

  \end{flushleft}
\end{document}

введите описание изображения здесь

Связанный контент