我有以下代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\framebox{\begin{tikzpicture}[color=black, line width=0.4mm]
\draw (0,0) rectangle (5mm,5mm);
\end{tikzpicture}}
\end{document}
结果是
问题是:如何在 tikzpicture 环境中去除框周围的边距?
答案1
您也可以使用\frame
宏来代替,它会在节点周围绘制一个紧密的框架。对于节点内的特殊内容,例如逐字内容,我推荐使用\Frame
我最近的realboxes
包中的宏。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\frame{\begin{tikzpicture}[color=black, line width=0.4mm]
\draw (0,0) rectangle (5mm,5mm);
\end{tikzpicture}}%
\end{document}
答案2
Tikz
为您提供了在图片周围添加框架的方法,即使没有边距:
\documentclass[parskip]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}[show background rectangle,inner frame sep=0mm]
\draw (0,0) ellipse (25mm and 15mm);
\end{tikzpicture}
\end{document}
參閱tikz 手册, “25 背景库” 了解更多选项
答案3
您看到的边距是由两个不同的原因产生的。首先,我猜您的输入代码是
\framebox{
\begin{tikzpicture}[color=black, line width=0.4mm]
\draw (0,0) rectangle (5mm,5mm);
\end{tikzpicture}
}
有两个虚假空格。事实上,如果代码如您的消息所示,外矩形将变成正方形。有一个参数\fboxsep
用于存储框架与内容之间的间隔\framebox
,其默认值为 3pt。要获得无间隔,您可以编写
\begingroup\setlength{\fboxsep}{0pt}%
\fbox{\begin{tikzpicture}
<TikZ commands>;
\end{tikxpicture}}\endgroup
这样更改就\fboxsep
仅在组内有效。