점선 수평선으로 수직 공간을 채우려면 어떻게 해야 합니까?

점선 수평선으로 수직 공간을 채우려면 어떻게 해야 합니까?

분명히 중복된 것 같은데 찾을 수 없습니다.

저는 학생들이 과제를 시작할 때 사용할 워크시트를 준비하고 있습니다. 다음은 코드의 (자연적으로 달콤한) 버전입니다.

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

여기에 이미지 설명을 입력하세요

관련 정보