Центрировать таблицу или 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из пакетов captionили capt-of(вы не можете использовать float внутри \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} 

введите описание изображения здесь

Связанный контент