为什么这个 \centering 命令不能使图形居中?

为什么这个 \centering 命令不能使图形居中?

当使用\centering这种方式时,我会将所有内容(文本和图形)居中:

\documentclass[varwidth=true,border=5pt]{standalone}
\usepackage{color}
\usepackage{tikz}

\newenvironment{nscenter}
  {\parskip=0pt\par\nopagebreak\centering}
  {\par\noindent\ignorespacesafterend}
\begin{document}
\centering
Generations lived here alone. Strangers this is our home! Strangers, this is our home! Welcome strangers, stay as our friends. The beauty of our land never ends.
\newline 
\newline 
\begin{tikzpicture}
  \filldraw[orange] (-1.2, 0) circle  (5pt);
  \filldraw[blue]   ( 2  , 0) circle  (2pt);
  \draw             ( 0  , 0) ellipse (2 and 1);
\end{tikzpicture}
\end{document}

但这并没有集中任何东西:

\documentclass[varwidth=true,border=5pt]{standalone}
\usepackage{color}
\usepackage{tikz}

\newenvironment{nscenter}
  {\parskip=0pt\par\nopagebreak\centering}
  {\par\noindent\ignorespacesafterend}
\begin{document}
Generations lived here alone. Strangers this is our home! Strangers, this is our home! Welcome strangers, stay as our friends. The beauty of our land never ends.    \newline 
\newline 
\begin{tikzpicture}
  \centering
  \filldraw[orange] (-1.2, 0) circle  (5pt);
  \filldraw[blue]   ( 2  , 0) circle  (2pt);
  \draw             ( 0  , 0) ellipse (2 and 1);
\end{tikzpicture}
\end{document}

域的使用\begin{center}...\end{center}也不起作用。已经解决了其他问题:缩放、、\par框架等,……没有结果。

更新:我尝试以最简单的方式(最少的乳胶书写和导入的包)将图形相对于其余文本居中。

注意:文档上的文本已更新,只是为了显示文本的宽度大于图像。

答案1

最自然的方式是让某样事物集中起来,那就是center环境

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\begin{document}

\hrule

\begin{center}
\begin{tikzpicture}
  \filldraw[orange] (-1.2, 0) circle  (5pt);
  \filldraw[blue]   ( 2  , 0) circle  (2pt);
  \draw             ( 0  , 0) ellipse (2 and 1);
\end{tikzpicture}
\end{center}

\hrule

\end{document}

或者独立使用:

在此处输入图片描述

\documentclass[varwidth=true,border=5pt]{standalone}
\usepackage{color}
\usepackage{tikz}


\begin{document}
This is our home
\newline% bad use makes underfull box 
\newline % bad use makes underfull box 

\begin{center}
\begin{tikzpicture}
  \filldraw[orange] (-1.2, 0) circle  (5pt);
  \filldraw[blue]   ( 2  , 0) circle  (2pt);
  \draw             ( 0  , 0) ellipse (2 and 1);
\end{tikzpicture}
\end{center}
\end{document}

或使用独立的和编辑问题中的较长的文本

在此处输入图片描述

相关内容