width=\linewidth
是可接受的输入选项\includegraphics
,但不能作为的输入minipage
。我们可以用什么X
来替换,以便\begin{minipage}{X}
具有与相似的宽度设置\includegraphics[width=\linewidth]{file_name}
?
以下代码用于创建带框架的图形。它几乎可以正常工作,只是我不想将小页面的宽度硬编码为 12 厘米。
\documentclass{article}
\usepackage{graphicx}
\begin{document}\begin{figure}[htbp]
\centering
\fbox{
\begin{minipage}{12 cm}
\includegraphics[width=\linewidth]{solution_count_satisfiability}
\caption{caption}
\label{label}
\end{minipage}
}
\end{figure}
\end{document}
答案1
不确定你的问题是什么,只需将其更改12cm
为\linewidth
即可,而且正如 David 已经指出的那样,你需要\fbox
从中减去分隔线和线宽,否则框将大于线宽。还会\fbox{<linebreak>
导致添加空格,这会将图像稍微向左推,因此你需要用注释将其屏蔽:\fbox{%
。
最简单的方法是使用adjustbox
:
\documentclass{article}
\usepackage{adjustbox}% loads graphicx
\usepackage{mwe}% for example text only
\begin{document}
\blindtext
\begin{figure}[htbp]
\begin{adjustbox}{minipage=\linewidth-2\fboxsep-2\fboxrule,fbox,center}
\includegraphics[width=\linewidth]{example-image}
\caption{caption}
\label{label}
\end{adjustbox}
\end{figure}
\blindtext
\end{document}
正如 Mico 所说,center
如果内容已经和行一样宽,则实际上不需要居中(这里使用键完成)。我添加它是为了更好地衡量,因为您以后可能会更改宽度。
答案2
\includegraphics
要求字符串width=
位于宽度参数之前。但是,minipage
不要求输入参数带有标签。它不仅不要求它;它不支持它。我们只需传入不带标签的输入参数: \begin{minipage}{\linewidth}
答案3
1.0\textwidth
完整第一行:\begin{minipage}{1.0\textwidth}
。
当然,比如\begin{minipage}{0.4\textwidth}
将宽度设置为正常文本宽度的40%。