Como posso centralizar uma tabela ou, no meu caso, uma imagem tikz horizontalmente, ignorando as margens? Minha imagem tikz é um pouco grande demais, fazendo com que não fique centralizada corretamente (gruda um pouco demais na margem direita, mas se centralizada corretamente, será menor)
eu tentei
\makebox[\textwidth][c]{}
mas recebo um monte de erros.
Responder1
Adicione ampersand replacement=\&
às tikzpicture
opções e altere cada um para &
( consulte a seçãotikzpicture
\&
17.5 Considerações sobre Personagens Ativosdo pgf
manual):
\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}
Se você quiser ter uma legenda, você pode usar a minipage
e o \captionof
comando dos pacotes caption
ou capt-of
(você não pode usar um float dentro de a \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}