悠闲数学娱乐论坛(第2版)'s Archiver

青青子衿 发表于 2018-3-18 15:36

如何排版这四个选项,使之与图片对齐?

[code]\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization} %for graphs and pictures
\usetikzlibrary{datavisualization.formats.functions} %for graphs and pictures
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{subfigure}[t]{0.23\linewidth}
\centering
\begin{tikzpicture}[baseline,remember picture]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=one,
        one={style={red}}
        ]
    data [set=one, format=function] {
    var x : interval [0:1];
    func y = -\value x ;
    };
\end{tikzpicture}
\end{subfigure}
%
\begin{subfigure}[t]{0.23\linewidth}
\centering
\begin{tikzpicture}[baseline,remember picture]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=two,
        two={style={orange}}
        ]
    data [set=two, format=function] {
    var x : interval [0:1];
    func y = -sqrt(\value x) ;
    };
\end{tikzpicture}
\end{subfigure}
%
\begin{subfigure}[t]{0.23\linewidth}
\centering
\begin{tikzpicture}[baseline,remember picture]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=three,
        three={style={blue}}
        ]
    data [set=three, format=function] {
    var x : interval [0:1];
    func y = \value x * \value x -2*\value x;
    };  
\end{tikzpicture}
\end{subfigure}
%
\begin{subfigure}[t]{0.23\linewidth}
\centering
\begin{tikzpicture}[baseline,remember picture]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=three,
        three={style={green}}
        ]
    data [set=three, format=function] {
    var x : interval [0:1];
    func y = -sqrt(2*\value x-\value x * \value x );
    };  
\end{tikzpicture}
\end{subfigure}
%
\subcaptionbox{\(y=-x\) \label{fig:z}}[0.230\linewidth]{}%
\subcaptionbox{\(y=-\sqrt{x}\) \label{fig:g}}[0.23\linewidth]{}%
\subcaptionbox{\(y=x^2-2x\) \label{fig:p}}[0.23\linewidth]{}%
\subcaptionbox{\(y=-\sqrt{2x-x^2}\) \label{fig:y}}[0.23\linewidth]{}%
\caption{Caption for figure \label{fig:whole}}
\end{figure}

References to subfigures \subref{fig:z}, \subref{fig:g}, \subref{fig:p}, and \subref{fig:y} in Fig.~\ref{fig:whole}.
\end{document}[/code][attach]5971[/attach]

kuing 发表于 2018-3-18 16:22

以下写法照搬自 subcaption 宏包手册第 4 页。

另外,[baseline,remember picture] 是多余的,我去掉了,而四个图放一起略显挤,所以我加了 [scale=0.9] 缩小一点点。[code]\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization} %for graphs and pictures
\usetikzlibrary{datavisualization.formats.functions} %for graphs and pictures
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{minipage}[b]{0.25\linewidth}
\centering
\begin{tikzpicture}[scale=0.9]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=one,
        one={style={red}}
        ]
    data [set=one, format=function] {
    var x : interval [0:1];
    func y = -\value x ;
    };
\end{tikzpicture}
\subcaption{\(y=-x\)}\label{fig:z}
\end{minipage}%←这个百分号请勿删除,下同
%
\begin{minipage}[b]{0.25\linewidth}
\centering
\begin{tikzpicture}[scale=0.9]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=two,
        two={style={orange}}
        ]
    data [set=two, format=function] {
    var x : interval [0:1];
    func y = -sqrt(\value x) ;
    };
\end{tikzpicture}
\subcaption{\(y=-\sqrt{x}\)}\label{fig:g}
\end{minipage}%
%
\begin{minipage}[b]{0.25\linewidth}
\centering
\begin{tikzpicture}[scale=0.9]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=three,
        three={style={blue}}
        ]
    data [set=three, format=function] {
    var x : interval [0:1];
    func y = \value x * \value x -2*\value x;
    };
\end{tikzpicture}
\subcaption{\(y=x^2-2x\)}\label{fig:p}
\end{minipage}%
%
\begin{minipage}[b]{0.25\linewidth}
\centering
\begin{tikzpicture}[scale=0.9]
    \datavisualization [
        scientific axes,
        x axis = {label={},length=2.0cm,include value={-0.5,1.5}},
        y axis = {label={},length=2.0cm,include value={0.5,-1.5}},
        visualize as smooth line=three,
        three={style={green}}
        ]
    data [set=three, format=function] {
    var x : interval [0:1];
    func y = -sqrt(2*\value x-\value x * \value x );
    };
\end{tikzpicture}
\subcaption{\(y=-\sqrt{2x-x^2}\)}\label{fig:y}
\end{minipage}
\caption{Caption for figure}\label{fig:whole}
\end{figure}

References to subfigures \subref{fig:z}, \subref{fig:g}, \subref{fig:p}, and \subref{fig:y} in Fig.~\ref{fig:whole}.
\end{document}[/code]

isee 发表于 2018-3-18 19:18

这处理这种图,都是直接把选项 弄成 node

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.