如何“绘制”有两列的图形?

如何“绘制”有两列的图形?

这是来自数据库相关论文的一张很好的图:

在此处输入图片描述

如何“绘制”此图形环境?本质上,我想在左侧放置一些 SQL 查询,在右侧我可能想放置两“块”内容(在图中,右侧只有一块内容)。

提前感谢你的帮助!

答案1

从我对您帖子的理解来看,您可能希望将页面分成 3 个部分?这是使用minipageslistings和 的MWE。当然,您可以根据需要tikz调整每个部分的宽度。minipage

在此处输入图片描述

\documentclass{article}
\usepackage[a4paper,margin=25mm,showframe]{geometry}
\usepackage{graphicx} % <--- For including graphics
\usepackage{listings} % <--- For typesetting verbatim code 
\usepackage{tikz}     % <--- For drawing the diagram

\begin{document}

\begin{figure}[!htb]
    \centering
    \begin{minipage}{0.3\textwidth}
        \begin{lstlisting}[language=SQL,basicstyle=\footnotesize\sffamily,numbers=left,numberstyle=\tiny\sffamily]
select *
from R, (select S.D,
   sum(1-S.B) as E,
   sum(S.A*(1-S.B)),
   sum(S.A*(1-S.B)*(1+S.C))
  from S group by S.D) T
where R.Z=T.E and R.B=3
        \end{lstlisting}
    \end{minipage}%
    \begin{minipage}{0.3\textwidth}
        \centering
                \begin{tikzpicture}[ultra thick,inner sep=1pt]
                    \node (S) at (0,0) {$S$};
                    \node (G) at (0,1)  {$\Gamma_{D,aggs}$};
                    \node (B) at (2,1) {$\sigma_{B=3}$};
                    \node (R) at (2,0) {$R$};
                    \node (X) at (1,2) {$X$};
                    \draw (S)--(G) (R)--(B) (G)--(X) (B)--(X);
                \end{tikzpicture}                
    \end{minipage}%
    \begin{minipage}{0.3\textwidth}
        \centering
        \includegraphics[width=0.9\linewidth]{example-image}
    \end{minipage}
    \caption{caption goes here}
\end{figure}

\end{document}

相关内容