使 decoRule 适合图片长度

使 decoRule 适合图片长度

我正在使用 decoRule 在我的图形下方和标题之前画一条线。我希望这条线的长度与我的图片长度相同。 在此处输入图片描述

我使用的代码如下:

 \begin{figure}
  \begin{subfigure}[b]{0.6\textwidth}
    \includegraphics[width=\textwidth]{stereolithography}
       \label{fig:sla}
  \end{subfigure}
  %
  \begin{subfigure}[b]{0.6\textwidth}
    \includegraphics[width=\textwidth]{dlp1}
    \label{fig:dlp}
  \end{subfigure}
  \decoRule
  \caption[Schematic of Vat Photopolymerization.]{a) Schematic of top-cured laser based machine, Stereolithography. b) Schematic of bottom-cured Digital Light Processing (DLP) machine. Courtesy of 3D Printing Industry \parencite{3d_printing_industry_2016}.}
\end{figure}

答案1

就目前情况而言,您的问题是无法回答的,因为只有您知道如何\decoRule定义。

有一个\decorule定义为礼仪包。但是,它看起来一点也不像您图片中的规则,所以可能不是那样。事实上,您图片中的规则看起来像一个标准规则。

如果是这样,那么您只需设置\vrule为适当的宽度即可 - 举一个例子。

主要问题是您的代码会出现坏框,因为您无法将 120% 加上\textwidth额外的空间放入\textwidth文本块并期望一切正常运行。

以下用途更改页面调整图像和规则的左右边距,恢复标题的标准设置。这样可以消除坏框。

显然,我修改了图片。我相信你会同意这是一个相当大的改进。一个学究可能会对标题的相关性和将引文变成问号而吹毛求疵。然而,有时你只需要把你的猫带到你能找到它们的地方,然后谴责那些批评者。

\documentclass{article}
\usepackage{graphicx,subcaption,chngpage,calc}
\newlength\fulltextwidth
\setlength\fulltextwidth{\textwidth}
\newlength\fullpicwidth
\setlength\fullpicwidth{1.2\textwidth+2\fboxsep+2\fboxrule}
\begin{document}
\begin{figure}
  \begin{adjustwidth}{-.1\fulltextwidth-\fboxrule-\fboxsep}{-.1\fulltextwidth-\fboxsep-\fboxrule}
    \fbox{%
      \begin{subfigure}[b]{0.6\fulltextwidth}
        \includegraphics[width=\textwidth]{cauldron}
        \label{fig:sla}
      \end{subfigure}%
      \begin{subfigure}[b]{0.6\fulltextwidth}
        \includegraphics[width=\textwidth]{cathod}
        \label{fig:dlp}
      \end{subfigure}%
    }
    \par
    \vrule height 1pt depth 1pt width \fullpicwidth
    \par
  \end{adjustwidth}
  \caption[Schematic of Vat Photopolymerization.]{a) Schematic of top-cured laser based machine, Stereolithography. b) Schematic of bottom-cured Digital Light Processing (DLP) machine. Courtesy of 3D Printing Industry \cite{3d_printing_industry_2016}.}
\end{figure}
\end{document}

大锅和猫

答案2

您可以使用 使水平线居中\centering。您还需要在放置命令之前留出一个空行,\centering以便它不会将所有子图居中。因此您的代码应如下所示。

\begin{figure}
 \begin{subfigure}[b]{0.6\textwidth}
   \includegraphics[width=\textwidth]{stereolithography}
      \label{fig:sla}
 \end{subfigure}
 %
 \begin{subfigure}[b]{0.6\textwidth}
   \includegraphics[width=\textwidth]{dlp1}
   \label{fig:dlp}
 \end{subfigure}

% Leave an empty line then add \centering before adding \decoRule
 \centering
 \decoRule 
 \caption[Schematic of Vat Photopolymerization.]{a) Schematic of top-cured laser based machine, Stereolithography. b) Schematic of bottom-cured Digital Light Processing (DLP) machine. Courtesy of 3D Printing Industry \parencite{3d_printing_industry_2016}.}
\end{figure}

我不确定它为什么会起作用。这可能与新段落和内容有关...

相关内容