如何让 tikzpicture 位于页面中央?

如何让 tikzpicture 位于页面中央?

我正在尝试将 tikzpicture 居中,我看了一下这里的几个问题,它们告诉我使用

\centering

或者

\begin{center} 

但无济于事:我希望函数图形出现在页面的中间,但它仍然左对齐。

\documentclass[12pt,a4paper]{exam}

\usepackage[utf8]{inputenc}
\usepackage{sansmathfonts}
\usepackage[T1]{fontenc}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif

\usepackage[french]{babel}
\usepackage[left=2cm, right=2cm, bottom=0.5cm, top=0.5cm]{geometry}

\usepackage{parskip}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{array}
\usepackage{multicol}
\usepackage{amsmath,amsfonts}
\usepackage{tikz}
\usepackage{pgfplots}


\newtheorem{exo}{Exercice}
\newtheorem{que}{Question}
\makeatother

\date{}
%%%% fin du préambule, on passe au contenu : tout le texte entre
%%%% \begin{document} et \end{document} 

\begin{document}
\begin{exo}[De la représentation graphique au tableau de valeurs]
La courbe ci-dessous est la représentation de la fonction f dans un repère orthonormé 
\newline

{\centering

    \begin{tikzpicture}
        \begin{axis}[
        axis lines=middle,
        grid=major,
        xmin=-7.1,
        xmax=7.1,
        ymin=-2.1,
        ymax=7.1,
        xlabel=$x$,
        ylabel=$y$,
        xtick={-7,-6,...,7},
        ytick={-7,-6,...,7},
        scale=1.5,
        transform shape,
        ticklabel style={
                    fill=white
                },
        tick style={very thick},
        axis equal image,
        legend style={
        at={(rel axis cs:0,1)},
        anchor=north west,draw=none,inner sep=0pt,fill=gray!10}
        ]
        \addplot[color=red] coordinates {
            (-7.10000,-2.111005)
    (-7.00000,-1.000000)
    (-6.00000,3.982684)
    (-5.00000,3.072727)
    (-4.00000,1.000000)
    (-3.00000,-0.156566)
    (-2.00000,-0.000000)
    (-0.00000,1.986869)
    (1.00000,2.406926)
    (2.00000,2.000000)
    (3.00000,1.000000)
    (4.00000,0.000000)
    (5.00000,-0.336364)
    (6.00000,0.256854)
    (7.00000,1.000000)
            };
        \end{axis}
    \end{tikzpicture}
}
\end{exo}

\end{document}

我的代码的结果

我怎样才能使 tikzpicture 居中?

答案1

我不确定你到底是如何使用center,但是这个代码:

\documentclass[12pt,a4paper]{exam}

\usepackage[utf8]{inputenc}
\usepackage{sansmathfonts}
\usepackage[T1]{fontenc}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif

\usepackage[french]{babel}
\usepackage[left=2cm, right=2cm, bottom=0.5cm, top=0.5cm]{geometry}

\usepackage{parskip}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{array}
\usepackage{multicol}
\usepackage{amsmath,amsfonts}
\usepackage{tikz}
\usepackage{pgfplots}


\newtheorem{exo}{Exercice}
\newtheorem{que}{Question}
\makeatother

\date{}
%%%% fin du préambule, on passe au contenu : tout le texte entre
%%%% \begin{document} et \end{document} 

\begin{document}
\begin{exo}[De la représentation graphique au tableau de valeurs]
La courbe ci-dessous est la représentation de la fonction f dans un repère orthonormé 

\begin{center}
    \begin{tikzpicture}
        \begin{axis}[
        axis lines=middle,
        grid=major,
        xmin=-7.1,
        xmax=7.1,
        ymin=-2.1,
        ymax=7.1,
        xlabel=$x$,
        ylabel=$y$,
        xtick={-7,-6,...,7},
        ytick={-7,-6,...,7},
        scale=1.5,
        transform shape,
        ticklabel style={
                    fill=white
                },
        tick style={very thick},
        axis equal image,
        legend style={
        at={(rel axis cs:0,1)},
        anchor=north west,draw=none,inner sep=0pt,fill=gray!10}
        ]
        \addplot[color=red] coordinates {
            (-7.10000,-2.111005)
    (-7.00000,-1.000000)
    (-6.00000,3.982684)
    (-5.00000,3.072727)
    (-4.00000,1.000000)
    (-3.00000,-0.156566)
    (-2.00000,-0.000000)
    (-0.00000,1.986869)
    (1.00000,2.406926)
    (2.00000,2.000000)
    (3.00000,1.000000)
    (4.00000,0.000000)
    (5.00000,-0.336364)
    (6.00000,0.256854)
    (7.00000,1.000000)
            };
        \end{axis}
    \end{tikzpicture}
\end{center}
\end{exo}

\end{document}

给出

在此处输入图片描述

附言如果你正在使用现代 TeX 发行版,则不需要inputenc。如果你想使用,请不要忘记在组末尾\centering执行:\par

\documentclass[12pt,a4paper]{exam}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[left=2cm, right=2cm, bottom=0.5cm, top=0.5cm]{geometry}
\usepackage{tikz}

\newtheorem{exo}{Exercice}

\begin{document}
\begin{exo}[De la représentation graphique au tableau de valeurs]
La courbe ci-dessous est la représentation de la fonction f dans un repère orthonormé 

{\centering
    \begin{tikzpicture}
        \draw (0,0) circle (1cm);
    \end{tikzpicture}
\par}
\end{exo}

\end{document}

答案2

你的示例不起作用,因为你正在\centering通过关闭一个组来恢复完成段落。如果你改变你的

    \end{tikzpicture}
}

    \end{tikzpicture}%

}

(注意空白行,结束段落)居中将起作用。我还添加了%以避免在图片末尾出现虚假空间...

无关:加载库后请阅读警告和 aa \pgfplotsset{compat=X},否则您将来会遇到问题……

相关内容