По какой-то причине я подумал, что было бы неплохо иметь встроенные фигуры (то есть не плавать), как в уравнении. Они должны быть пронумерованы, так как я хочу иметь возможность ссылаться на них позже. Я придумал две попытки, но у обеих есть свои недостатки. Я надеюсь на некоторые отзывы, которые могут разобраться со мной.
Первая попытка использует 3 мини-страницы (см. Код ниже). Это выглядит хорошо, так как номер фигуры выровнен по вертикали с серединой фигуры. Однако, когда ширина рисунка приближается к ширине страницы, все начинает разрушаться. Кроме того, он не очень хорошо ведет себя на разрывах страниц.
Вторая попытка использует среду уравнения с другой меткой. Помимо того, что я не знаю, разумно ли это делать, это создает дополнительные пробелы в начале следующего абзаца. Он также не выравнивает метку по центру по вертикали, а помещает ее снизу.
Вот пример обеих попыток:
\documentclass{article}
\usepackage{pgf,tikz}
\usepackage{lipsum}
%
% Attempt 1
%
% Uses 3 minipages.
% Breaks if figure is wide, and at the bottom of a page.
%
\usepackage{calc}
\newlength{\figlabelwidth} % width of label
\newlength{\imgwidth} % max. width of figure
\newenvironment{inlinefig1}
{
\refstepcounter{figure} % increase figure number
\begin{center} % don't know if this is necessary
\setlength{\figlabelwidth}{\widthof{(Fig. \thefigure)}}
\setlength{\imgwidth}{\textwidth - \figlabelwidth - \figlabelwidth}
\setlength{\imgwidth}{0.9\imgwidth} % to be on the safe side
\begin{minipage}{\figlabelwidth}\makebox[\figlabelwidth]{}\end{minipage} % ghost minipage for centering
\hfill
\begin{minipage}{\imgwidth}\begin{center} % minipage for figure
}
{
\end{center}\end{minipage}
\hfill
\begin{minipage}{\figlabelwidth}(Fig. \thefigure)\end{minipage} % minipage for label
\end{center}
}
%
% Attempt 2
%
% Uses an equation environment with relabeled labels.
% Label is not centered vertically, and produces extra whitespace in the paragraph after it.
%
\def\theoldequation{\theequation} % save the old equation format
\newenvironment{inlinefig2}
{
\refstepcounter{figure} % increase figure number
\def\theequation{Fig. \arabic{figure}} % switch to figure numbering
\begin{equation}
}
{
\end{equation}
\def\theequation{\theoldequation} % reset to old equation label format
\addtocounter{equation}{-1} % correct the equation numbering
}
\begin{document}
\noindent \lipsum[1]
\begin{inlinefig1}
\begin{tikzpicture}
\draw (0,0) grid +(12,2);
\end{tikzpicture}
\end{inlinefig1}
\lipsum[2]
\begin{inlinefig2}
\begin{tikzpicture}
\draw (0,0) grid +(12,2);
\end{tikzpicture}
\end{inlinefig2}
\lipsum[3]
\end{document}
Ребята, есть ли у вас какие-нибудь лучшие идеи или предложения по устранению каких-либо недостатков? Спасибо!