キャプション内のテキストを揃えるにはどうすればいいですか?

キャプション内のテキストを揃えるにはどうすればいいですか?

図内のいくつかのテクニックについて調査したいと思います。テクニックがたくさんあることがわかったので、サブキャプションとサブ参照を使用してその事柄を説明しました。しかし、ラベルが多すぎるため、\\\hspace{textwidth}改行回避策を使用して各説明を 1 行にまとめると便利だとわかりました。画像の下のサブキャプションに情報を入れるのは好きではないし、ドキュメント全体の形式が崩れてしまうので、サブキャプションがある場合は、\subref図のキャプション内でラベル ( を使用) を参照します。サブ参照ラベルは幅が異なるため、キャプションの左側がかなりギザギザで角張ったように見えます。MWE:

\documentclass[oneside,DIV=17]{scrbook}
\usepackage[font={scriptsize,sf},labelfont={scriptsize,sf,bf}]{caption}
\usepackage[subrefformat=parens,labelfont={normalfont,scriptsize,sf},labelsep=space]{subcaption}
\setcapindent{0pt}

\begin{document}
 \begin{figure}
   \subcaptionbox{\label{fig:a}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:b}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:c}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:d}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:e}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:f}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:g}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:h}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:i}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:j}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:k}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \hspace{0.3\textwidth}
   \caption{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
sem. Nulla et lectus vestibulum urna fringilla ultrices.\\\hspace{\textwidth}
    \subref{fig:a} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:b} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:c} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:d} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:e} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:f} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:g} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:h} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:i} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:j} Short text fit in one line\\\hspace{\textwidth}
    \subref{fig:k} Short text fit in one line
   }
 \end{figure}
\end{document}

これは次のように表示されます (赤線で問題が強調表示されます)。

左余白がギザギザ

キャプション テキストを改行しなければ、すべて問題ないことはわかっています。ただし、読者にとっては、テキスト内のラベル項目を検索するよりも、列から説明を選択する方が簡単である可能性があると主張します。ご提案があれば、よろしくお願いします。

答え1

このようなキャプションを含む図表リストをドキュメントに印刷する必要がないことを願います...そのような場合は、オプションの引数を使用することを忘れないでください\caption:

\caption[short caption]{long caption}

ここに3つの選択肢があります。

最初の選択肢:

\documentclass[oneside,DIV=17]{scrbook}
\usepackage[font={scriptsize,sf},labelfont={scriptsize,sf,bf}]{caption}
\usepackage[subrefformat=parens,labelfont={normalfont,scriptsize,sf},labelsep=space]{subcaption}
\setcapindent{0pt}

\begin{document}
 \begin{figure}
   \subcaptionbox{\label{fig:a}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:b}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:c}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:d}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:e}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:f}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:g}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:h}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:i}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:j}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:k}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \hspace{0.3\textwidth}
   \caption{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
sem. Nulla et lectus vestibulum urna fringilla ultrices.\\
    \llap{\subref{fig:a}} Short text fit in one line\\
    \llap{\subref{fig:b}} Short text fit in one line\\
    \llap{\subref{fig:c}} Short text fit in one line\\
    \llap{\subref{fig:d}} Short text fit in one line\\
    \llap{\subref{fig:e}} Short text fit in one line\\
    \llap{\subref{fig:f}} Short text fit in one line\\
    \llap{\subref{fig:g}} Short text fit in one line\\
    \llap{\subref{fig:h}} Short text fit in one line\\
    \llap{\subref{fig:i}} Short text fit in one line\\
    \llap{\subref{fig:j}} Short text fit in one line\\
    \llap{\subref{fig:k}} Short text fit in one line
   }
 \end{figure}
\end{document} 

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

2番目の選択肢:

\documentclass[oneside,DIV=17]{scrbook}
\usepackage[font={scriptsize,sf},labelfont={scriptsize,sf,bf}]{caption}
\usepackage[subrefformat=parens,labelfont={normalfont,scriptsize,sf},labelsep=space]{subcaption}
\setcapindent{0pt}

\begin{document}
 \begin{figure}
   \subcaptionbox{\label{fig:a}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:b}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:c}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:d}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:e}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:f}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:g}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:h}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:i}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:j}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:k}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \hspace{0.3\textwidth}
   \caption{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
sem. Nulla et lectus vestibulum urna fringilla ultrices.\\
    \protect\makebox[.5cm]{\subref{fig:a}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:b}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:c}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:d}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:e}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:f}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:g}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:h}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:i}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:j}} Short text fit in one line\\
    \protect\makebox[.5cm]{\subref{fig:k}} Short text fit in one line
   }
 \end{figure}
\end{document} 

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

3番目の選択肢:

\documentclass[oneside,DIV=17]{scrbook}
\usepackage[font={scriptsize,sf},labelfont={scriptsize,sf,bf}]{caption}
\usepackage[subrefformat=parens,labelfont={normalfont,scriptsize,sf},labelsep=space]{subcaption}
\setcapindent{0pt}

\begin{document}
 \begin{figure}
   \subcaptionbox{\label{fig:a}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:b}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:c}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:d}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:e}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:f}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:g}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:h}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:i}}{\rule{0.3\textwidth}{0.25\textwidth}}\par
   \subcaptionbox{\label{fig:j}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \subcaptionbox{\label{fig:k}}{\rule{0.3\textwidth}{0.25\textwidth}}\hfill
   \hspace{0.3\textwidth}
   \caption{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
sem. Nulla et lectus vestibulum urna fringilla ultrices.\\
    \protect\makebox[.5cm][l]{\subref{fig:a}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:b}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:c}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:d}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:e}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:f}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:g}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:h}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:i}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:j}} Short text fit in one line\\
    \protect\makebox[.5cm][l]{\subref{fig:k}} Short text fit in one line
   }
 \end{figure}
\end{document} 

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

答え2

表形式を使用します:

\documentclass{article}
\usepackage{lipsum}
\usepackage[font={scriptsize,sf},labelfont={scriptsize,sf,bf}]{caption}
\usepackage[subrefformat=parens,labelfont={normalfont,scriptsize,sf},labelsep=space]{subcaption}

\begin{document}
 \begin{figure}
   \subcaptionbox{\label{fig:a}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:b}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:c}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:d}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:e}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:f}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:g}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:h}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:i}}{}\hspace{1cm}~
   \subcaptionbox{\label{fig:j}}{}
   \caption{\protect\lipsum[1]\smallskip
    \protect\tabular{@{}l @{~} l@{}}
    \subref{fig:a} & Short text fit in one line\\
    \subref{fig:b} & Short text fit in one line\\
    \subref{fig:c} & Short text fit in one line\\
    \subref{fig:d} & Short text fit in one line\\
    \subref{fig:e} & Short text fit in one line\\
    \subref{fig:f} & Short text fit in one line\\
    \subref{fig:g} & Short text fit in one line\\
    \subref{fig:h} & Short text fit in one line\\
    \subref{fig:i} & Short text fit in one line\\
    \subref{fig:j} & Short text fit in one line
    \protect\endtabular
   }
 \end{figure}
\end{document}

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

関連情報