水平居中表格或 tikzpicture,忽略边距

水平居中表格或 tikzpicture,忽略边距

如何让表格或 tikzpicture 水平居中,而忽略边距?我的 tikzpicture 稍微有点太大,导致它不能正确居中(稍微有点太靠近右边距,但如果正确居中,它就会少一些)

我试过了

 \makebox[\textwidth][c]{}

但我只是得到了一堆错误。

答案1

添加ampersand replacement=\&选项tikzpicture并将每个选项更改为&(参见章节tikzpicture\&17.5 关于主动角色的考虑手册中的pgf内容):

\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\lipsum[2]

\noindent\makebox[\textwidth]{%
\begin{tikzpicture}[ampersand replacement=\&]
\matrix [matrix of nodes]
{
8 \& 1 \& 6 \& 8 \& 1 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \\
};
\end{tikzpicture}%
}

\end{document} 

在此处输入图片描述

如果您想要一个标题,您可以使用minipage和或包\captionof中的命令(您不能在里面使用浮点数):captioncapt-of\makebox

\documentclass{article}
\usepackage{caption}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{lipsum}

\begin{document}

\lipsum[2]

\noindent\makebox[\textwidth]{%
\begin{minipage}{2\textwidth}
\centering
\begin{tikzpicture}[ampersand replacement=\&]
\matrix [matrix of nodes]
{
8 \& 1 \& 6 \& 8 \& 1 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \& 6 \& 8 \& 1 \& 6 \\
};
\end{tikzpicture}
\captionof{figure}{Test caption}
\end{minipage}%
}

\end{document} 

在此处输入图片描述

相关内容