最小幅の \dotfill マクロを定義するにはどうすればよいでしょうか?

最小幅の \dotfill マクロを定義するにはどうすればよいでしょうか?

\entry参照リストを作成するためのマクロを定義したいと思います。

これが私の試みです:

\documentclass{article}

\pagestyle{empty}

\def\entry#1#2#3{\textbf{#1}~#2\dotfill#3\par}

\setlength{\parindent}{0pt}

\begin{document}

\entry{1}{aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  a a a a}{48}
\entry{2}{bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  b b b
  b}{48, 56, 78}

\entry{3}{aaaa bbb ddd  eeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{4}{aaaa bbb dddd  eeeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{5}{aaaaaaa bbb ddd  eeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{6}{aaaaaaa bbb ddd  eeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc c
  cccc\\\null}{123}

\end{document}

結果:

ここに画像の説明を入力してください

エントリ 1、2、3 は問題ありません。ただし、エントリ 4 と 5 は、エントリ 6 のようにする必要があります。

\dotfillエントリ 4 と 5 の代わりにエントリ 6 を自動的に取得するには、どのマクロを置き換えればよいでしょうか。

答え1

最小幅は 2em ですが、カスタマイズ可能です。

\documentclass{article}

\pagestyle{empty}

\makeatletter
\newcommand{\mdotfill}[1][2em]{%
  \leavevmode
  \linebreak[0]%
  \mbox{}\nobreak
  \cleaders \hb@xt@ .44em{\hss.\hss}\hskip #1 plus 1fill
  \kern\z@
}
\makeatother

\newcommand{\entry}[3]{\textbf{#1}~#2\mdotfill#3\par}

\setlength{\parindent}{0pt}

\begin{document}

\entry{1}{aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  aa  a a a a}{48}
\entry{2}{bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  bb  b b b
  b}{48, 56, 78}

\entry{3}{aaaa bbb ddd  eeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{4}{aaaa bbb dddd  eeeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{5}{aaaaaaa bbb ddd  eeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  c c c
  c}{123}

\entry{6}{aaaaaaa bbb ddd  eeeeeeee cc cc ccc cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc  cc c
  cccc\\\null}{123}

\end{document}

ここに画像の説明を入力してください

関連情報