如何用水平虛線填滿垂直空間?

如何用水平虛線填滿垂直空間?

我確信這一定是重複的,但我找不到它。

我正在準備一份工作表供學生在開始完成作業時使用。這是程式碼的(自然的)版本:

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

在此輸入影像描述

相關內容