如何显示带有标题的水平对齐图像?

如何显示带有标题的水平对齐图像?

我正在寻找有关如何显示与标题水平对齐的大量图像的建议:

  • 图库中有数百甚至数千张图片

  • 图像尺寸未知,指定其高度(例如 4 厘米),宽度应按比例缩放

  • 图像应与顶部/左侧对齐

  • 标题应位于图片的中心,如果标题比图片宽,则标题应使用连字符,不得溢出到侧面标题或下方图片

  • 应检测到换行符,不应发生水平溢出(不同行处的图像数量可能因图像尺寸而异)

  • 应检测到分页符,不会发生垂直溢出

  • 画廊前或画廊后不得强制分页

  • 解决方案不得影响文档中任何其他图像的设置(例如,其他具有全页大小的图库或单独的文本包装图像:使用全局设置不得损坏文档中任何已经正常工作的部分)

下面是画廊的示例(在 GIMP 中完成,它不是任何 TeX 源的输出):

在此处输入图片描述

说实话,我完全不知道如何实现这样的图库。我在 Google 上找到的所有示例都假定已知图像数量和尺寸,并且图像在页面上的位置是手动的,而这不符合上述要求。

我在下面附上了一些源代码,但所有的尝试都是无用的。尽管如此,附加的源代码还是有用的,因为它至少包含了我的文档的配置。

\documentclass[a4paper]{book}

\usepackage{fontspec}

\usepackage{polyglossia}
\setmainlanguage{czech}

\usepackage{ulem}
\usepackage{spverbatim}
\usepackage[unicode]{hyperref}
\def\do#1{\appto\UrlSpecials{\do#1{\mathchar`#1 \mskip 0mu plus 1mu\penalty100\relax}}}
\do\-\do\/\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z
\usepackage[]{graphicx}
\usepackage{grffile}
\usepackage{color}

\usepackage{wrapfig}
\usepackage{float}
\usepackage[section]{placeins}
\usepackage{hologo}
\usepackage[skip=8pt]{caption}

\usepackage{pdfpages}

\usepackage{needspace}
\intextsep=0pt


\DeclareTextFontCommand{\mytexttt}{\ttfamily\hyphenchar\font=45\relax}

\makeatletter
\renewcommand{\l@section}{\@dottedtocline{1}{1.5em}{2.6em}}
\renewcommand{\l@subsection}{\@dottedtocline{2}{4.0em}{3.6em}}
\renewcommand{\l@subsubsection}{\@dottedtocline{3}{7.4em}{4.8em}}
%\setlength{\@fptop}{0pt}
%\setlength{\@fpbot}{0pt plus 1fil}
\makeatother

\begin{document}

\raggedbottom

\chapter{Chapter}
\section{Section}

\begin{figure}[H]
\centering
 \rule{6cm}{4cm}
\caption{Dokument}
\end{figure}

\begin{figure}[H]
\centering
 \rule{3cm}{4cm}
\caption{Dokument}
\end{figure}

\begin{figure}[H]
\centering
 \rule{5cm}{4cm}
\caption{Dokument}
\end{figure}

\begin{figure}[H]
\centering
 \rule{7cm}{4cm}
\caption{Dokument}
\end{figure}

\chapter{Chapter}
\section{Section}

\rule{6cm}{4cm}
\rule{3cm}{4cm}
\rule{5cm}{4cm}
\rule{7cm}{4cm}
\rule{6cm}{4cm}
\rule{3cm}{4cm}
\rule{5cm}{4cm}
\rule{7cm}{4cm}
\rule{6cm}{4cm}
\rule{3cm}{4cm}
\rule{5cm}{4cm}
\rule{7cm}{4cm}
\rule{6cm}{4cm}
\rule{3cm}{4cm}
\rule{5cm}{4cm}
\rule{7cm}{4cm}

\chapter{Chapter}
\section{Section}

\begin{wrapfigure}{L}{0pt}
\centering
 \rule{6cm}{4cm}
\caption{Dokument}
\end{wrapfigure}

\begin{wrapfigure}{L}{0pt}
\centering
 \rule{3cm}{4cm}
\caption{Dokument}
\end{wrapfigure}

\begin{wrapfigure}{L}{0pt}
\centering
 \rule{5cm}{4cm}
\caption{Dokument}
\end{wrapfigure}

\begin{wrapfigure}{L}{0pt}
\centering
 \rule{7cm}{4cm}
\caption{Dokument}
\end{wrapfigure}


\chapter{Chapter}
\section{Section}

\begin{figure}[H]

\minipage{0pt}
\centering
 \rule{6cm}{4cm}
\caption{Dokument}
\endminipage

\minipage{0pt}
\centering
 \rule{3cm}{4cm}
\caption{Dokument}
\endminipage

\minipage{0pt}
\centering
 \rule{5cm}{4cm}
\caption{Dokument}
\endminipage

\minipage{0pt}
\centering
 \rule{7cm}{4cm}
\caption{Dokument}
\endminipage

\end{figure}


\chapter{Chapter}
\section{Section}

\begin{figure}[H]
 \rule{6cm}{4cm}
 \rule{3cm}{4cm}
 \rule{5cm}{4cm}
 \rule{7cm}{4cm}
 \rule{6cm}{4cm}
 \rule{3cm}{4cm}
 \rule{5cm}{4cm}
 \rule{7cm}{4cm}
 \rule{6cm}{4cm}
 \rule{3cm}{4cm}
 \rule{5cm}{4cm}
 \rule{7cm}{4cm}
\end{figure}

\end{document}

欢迎任何建议,因为我不仅仅解决某些特定问题,而且正在寻找如何实现上述要求的方法。

答案1

也许是类似

在此处输入图片描述

\documentclass{book}

\usepackage{graphicx,capt-of}

\newcommand\img[2]{%
\hspace{1em}%
\vtop{%
\centering
\sbox0{\includegraphics[height=3cm]{#1}}%
\hsize=\wd0
\linewidth=\hsize
\usebox{0}%

\captionof{figure}{#2}%
}%
\ignorespaces}

\begin{document}

\chapter{stuff}
\section{zzzz}

\raggedbottom
\begin{flushleft}
\lineskip20pt plus 5pt

\img{example-image}{zzz zzz}
\img{example-image-4x3}{zzz zzz}
\img{example-image-a}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-16x9}{zzz zzz}
\img{example-image-10x16}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image}{zzz zzz}
\img{example-image-4x3}{zzz zzz}
\img{example-image-a}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-16x9}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-16x9}{zzz zzz}
\img{example-image-10x16}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image}{zzz zzz}
\img{example-image-4x3}{zzz zzz}
\img{example-image-a}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-10x16}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image}{zzz zzz}
\img{example-image-4x3}{zzz zzz}
\img{example-image-a}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-b}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-1x1}{zzz zzz}
\img{example-image-16x9}{zzz zzz}
\img{example-image-1x1}{zzz zzz}

\end{flushleft}
\end{document}

相关内容