我想在文档中插入位图图像。我想在图像周围添加一条紧密而细的边框线。显然,可以使用 来实现这一点\framebox
。我希望边框完全适合图像(边框和图像之间没有空间)。所以我设置了\setlength\fboxsep{0pt}
。但是,由于某种原因,该框不适合。在顶部和底部,线条完全适合,但左侧和右侧有额外的空间。这是我的代码:
\begin{figure}[htb]
\centering
\setlength\fboxsep{0pt}
\setlength{\fboxrule}{1pt}
\framebox{
\includegraphics{Fig1.jpg}
}\end{figure}
通过如下一个非常简单的例子,同样的问题就会变得明显:
\setlength{\fboxsep}{0pt}
\fbox{%
\rule{4cm}{3cm}
}
我是不是做错了什么,或者我遇到了一个错误?
答案1
由字符组成的文本行和包含图形的文本行之间没有区别。TeX 会将其视为一个单独的框;它还会将所有行尾视为额外的空格。您必须使用百分号字符,如下图所示:
\documentclass{article}
\usepackage{graphicx,xcolor}
\begin{document}
\begin{figure}[htb]
\centering
\setlength\fboxsep{0pt}
\setlength{\fboxrule}{1pt}
\framebox{%
\color{red}
\rule{35pt}{35pt}%
}
\end{figure}
\end{document}
我使用了 来rule
表示includegraphics
。始终为其他人提供一个最小的工作示例来测试他们的答案是一个好主意,而规则在这方面很方便。
答案2
源代码中的换行符就像空白一样。您可以通过以 % 结尾来删除它们,然后图像前后的多余空间就会消失:
\begin{figure}[htb]
\centering
\setlength\fboxsep{0pt}
\setlength{\fboxrule}{1pt}
\framebox{%
\includegraphics{Fig1.jpg}%
}\end{figure}
你可能已经注意到人们经常用 % 来结束一行。这个可能的空白就是一个原因。
通常这没什么区别,因为在控制序列(例如宏名称)之后、数字之后、参数分隔符之间的空格会被忽略。这里是相关的空格。如果有疑问,请注释掉换行符。
答案3
对于图像,您可以使用\frame
\documentclass{article}
\usepackage{graphicx,xcolor}
\begin{document}
\begin{figure}
\centering
\frame{\scalebox{5}{F}}
\end{figure}
\end{document}