我正在寻找有关如何显示与标题水平对齐的大量图像的建议:
图库中有数百甚至数千张图片
图像尺寸未知,指定其高度(例如 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}