在表格内定位图表?

在表格内定位图表?

在此处输入图片描述我可以问一下这是否是定位图表的最佳方法吗?或者我应该使用表格之外的其他方法吗?

\documentclass{book}

\usepackage{blindtext}
\usepackage{tikz}
\usepackage{tkz-euclide}

\newcommand{\AB}{0.75}   % A  and B added <<<<<<<<<<<<<<
\newcommand{\C}{1.5}    % C added <<<<<<<<<<<<<<
\newcommand{\AD}{0.75} % D added<<<<<<<<<<<<<<
\newcommand{\Asize}{0.25}   % Angle added <<<<<<<<<<<<<<
\newcommand{\AG}{1.5}

\begin{document}

\begin{center}
\begin{tabular}{ccc}
\begin{tikzpicture}
        \tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}

        \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    \tkzDrawPolygon(A,B,C)
    %\tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    \tkzLabelPoints[above](C)
    %\tkzLabelPoints[above](D)
  
    \tkzMarkSegment[mark=|](A,C)
    \tkzMarkSegment[mark=||](A,B)
    \tkzMarkAngle[size=\Asize](B,A,C)
    \tkzMarkAngle[size=\Asize](C,B,A)
\end{tikzpicture}
&
\begin{tikzpicture}
     \tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}

     \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    %\tkzDrawPolygon(A,B,C)
    \tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    %\tkzLabelPoints[above](C)
    \tkzLabelPoints[above](D)
  
    \tkzMarkSegment[mark=|](A,D)
    \tkzMarkSegment[mark=|](A,B)
    %\tkzMarkAngle[size=\Asize](B,A,C)
    %\tkzMarkAngle[size=\Asize](C,B,A)
\end{tikzpicture}
&
\begin{tikzpicture}
\tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}

        \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    \tkzDrawPolygon(A,B,C)
    \tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    \tkzLabelPoints[above](C)
    \tkzLabelPoints[above](D)
  
    %\tkzMarkSegment[mark=|](A,D)
    %\tkzMarkSegment(D,C)
    \tkzMarkAngle[size=\Asize](B,A,C)
    \tkzMarkAngle[size=\Asize](C,B,A) 
\end{tikzpicture}
\end{tabular}
\end{center}

\end{document}

我知道有人帮助我做到这一点,但我只是想提高自己。我只是有点担心我的所有代码看起来有点杂乱,我只是想稍微整理一下。包括每个图表的所有重复代码。

答案1

请问这是否是定位图表的最佳方法?

由于您没有以吸引人的方式指定任何定位图的最优标准,因此无法判断可能最好的。你的方法确实有效 —— 这始终是一个优点。

话虽如此,但看起来机器并没有tabular真正增加任何额外的功能,而这些功能是无法通过简单地将图表并排放置(用 、 或 (比如说) 分隔\quad\qquad来实现的\hspace{1cm}

在此处输入图片描述

\documentclass{book}
\usepackage{tikz,tkz-euclide}

\newcommand{\AB}{0.75}  % A and B added <<<<<<<<<<<<<<
\newcommand{\C}{1.5}    % C added <<<<<<<<<<<<<<
\newcommand{\AD}{0.75}  % D added<<<<<<<<<<<<<<
\newcommand{\Asize}{0.25} % Angle added <<<<<<<<<<<<<<
\newcommand{\AG}{1.5}

\begin{document}

\begin{center}
%%%\begin{tabular}{ccc}
\begin{tikzpicture}
   \tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}
   \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    \tkzDrawPolygon(A,B,C)
    %\tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    \tkzLabelPoints[above](C)
    %\tkzLabelPoints[above](D)
  
    \tkzMarkSegment[mark=|](A,C)
    \tkzMarkSegment[mark=||](A,B)
    \tkzMarkAngle[size=\Asize](B,A,C)
    \tkzMarkAngle[size=\Asize](C,B,A)
\end{tikzpicture}%
\hspace{1cm} %%% &
\begin{tikzpicture}
    \tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}
    \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    %\tkzDrawPolygon(A,B,C)
    \tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    %\tkzLabelPoints[above](C)
    \tkzLabelPoints[above](D)
  
    \tkzMarkSegment[mark=|](A,D)
    \tkzMarkSegment[mark=|](A,B)
    %\tkzMarkAngle[size=\Asize](B,A,C)
    %\tkzMarkAngle[size=\Asize](C,B,A)
\end{tikzpicture}%
\hspace{1cm} %%% &
\begin{tikzpicture}
    \tkzDefPoints{-\AB/0/A,\AB/0/B,0/\C/C,1/\AD/D}
    \tkzDefPointOnLine[pos=0.5](B,C)\tkzGetPoint{E}

    \tkzDrawPolygon(A,B,C)
    \tkzDrawPolygon(A,B,D)

    \tkzLabelPoints[left](A)
    \tkzLabelPoints[right](B)
    \tkzLabelPoints[above](C)
    \tkzLabelPoints[above](D)
  
    %\tkzMarkSegment[mark=|](A,D)
    %\tkzMarkSegment(D,C)
    \tkzMarkAngle[size=\Asize](B,A,C)
    \tkzMarkAngle[size=\Asize](C,B,A) 
\end{tikzpicture}
%%%\end{tabular}
\end{center}

\end{document}

答案2

对我来说,我们可以得到相同的结果,只需使用包tikz和更简单的代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}
    \noindent
    \begin{tikzpicture}
        \draw (0,0) node[below] (A) {A}--(3,0) node[below] (B) {B}--(1.5,4) node[above] (C) {C}--cycle;
        \draw (.5,0) arc(0:69.44:.5);
        \draw (2.5,0) arc(180:110.56:.5);
        \draw (0,0)--(1.5,4) node[pos=.5,sloped] () {|};
        \draw (0,0)--(3,0) node[pos=.5] () {||}; 
        
        \begin{scope}[xshift=5cm]
            \draw (0,0) node[below] (A) {A}--(3,0) node[below] (B) {B}--(4.14,1.04) node[above] (D) {D}--cycle;
            \draw (0,0)--(4.14,1.04) node[pos=.5,sloped] () {|};
            \draw (0,0)--(3,0) node[pos=.5] () {||};
        \end{scope}
        
        \begin{scope}[xshift=11cm]
            \draw (0,0) node[below] (A) {A}--(3,0) node[below] (B) {B}--(1.5,4) node[above] (C) {C}--cycle;
            \draw (.5,0) arc(0:69.44:.5);
            \draw (2.5,0) arc(180:110.56:.5);
            \draw (0,0)--(3,0)--(4.14,1.04) node[right] (D) {D}--cycle;
        \end{scope}
    \end{tikzpicture}
\end{document}

输出是这样的:

在此处输入图片描述

您可以对每张图片使用几乎相同的代码(和坐标)。

相关内容