Como posso preencher espaços verticais com linhas horizontais pontilhadas?

Como posso preencher espaços verticais com linhas horizontais pontilhadas?

Tenho certeza de que deve ser uma duplicata, mas não consigo encontrá-la.

Estou preparando uma planilha para os alunos usarem quando começarem a trabalhar em uma tarefa. Aqui está uma versão (naturalmente adoçada) do código:

\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}

Isso produz:

planilha (adoçada)

Gostaria de substituir os espaços criados pelos \vfillcomandos por linhas horizontais pontilhadas. É possível fazer isso de maneira organizada e automática?

Estou ciente de que pacotes de exames e testes oferecem algo parecido com essa facilidade em alguns casos, mas não posso usar uma examaula especializada neste caso porque se trata de apenas uma página em um pacote de materiais.

Também não há problema em preencher páginas inteiras desta forma, por exemplo, para criar papéis pautados ou quadrados de vários tipos.

Esta respostaaborda uma questão semelhante, mas não tenho certeza de como modificá-la e não quero codificar a largura do texto.

Posso fazer isso com o TikZ, se necessário, mas esperava que houvesse uma maneira mais fácil.

Responder1

Aqui está o código roubado da examclasse e ligeiramente modificado.

\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}

insira a descrição da imagem aqui

informação relacionada