Mengisi sisa halaman dengan titik (lagi)
Saya memiliki pertanyaan yang sama seperti Mengisi sisa halaman dengan titik . Artinya, saya ingin mengisi sisa halaman dengan titik-titik. Jawaban yang diterima hampir sempurna, tetapi ketika saya menggunakannya di dalam \begin{enumeration}
, titik-titik tidak menjorok dengan benar. Apakah ada cara untuk membuatnya berhasil?
Saya menemukan jawaban di posting lain yang menyarankan itu leavevmode
akan membantu, tetapi tampaknya tidak berfungsi di mana pun saya menambahkannya.
Diedit: inilah kode yang saya coba. Saya hanya menambahkan leavevmode
di depan cleaders
di atas jawaban yang diterima di atas.
% 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}
Inilah hasilnya:
Jawaban
Anda dapat menggunakan linegoal
paket untuk mengetahui seberapa lebar kolom titik seharusnya. Ini membutuhkan 3 kompilasi untuk menentukan nilai yang benar.
\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}
Adapun pertanyaan tambahan yang muncul di komentar.
\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}
Silakan periksa dengan makro di bawah ini.
\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