如何绘制此 MODI 表

如何绘制此 MODI 表

莫迪桌

昨天,我的讲师给我布置了作业,要我把这张图片/MODI 表格转换成 LaTeX 文件。但是,我不知道该如何开始,因为一直以来,我只知道如何将 MS Word 文件转换成简单的 latex 文件,而且这次没有这么复杂,哈哈,那么有没有办法解决这个问题呢?

感谢您的帮助! :)

答案1

这是一个非常简单的例子(这里是matrix,通过加载\usetikzlibrary{matrix},一个更好的选择,但正如我所说,我想将事情保持在“低级”水平)。如果有人有更好的解决方案,只需编辑我的答案。

附言:我没有在最后一个单元格中输入“70”,因为我不知道它代表什么(看起来图片中缺少了一些东西)。

\documentclass[border=5pt,tikz]{standalone}
\usepackage{mathptm}
\tikzstyle{io} = [fill=black,radius=3pt]
\begin{document}
    \begin{tikzpicture}[every node/.style={font=\large}]
        \draw[step=2cm] (0,0) grid (8,6);
            \draw[io] (1,1) circle node[below left=4,yshift=-3] {$x_{31}$};
                \node[above left=5,yshift=3] at (1,1) {\small $\theta$};
            \draw[io] (1,5) circle node[above=8] {$30-\theta$};
            \draw[io] (3,5) circle node[above=8] {$20+\theta$};
            \draw[io] (3,3) circle node[below=8] {$20-\theta$};
            \draw[io] (5,3) circle node[above=8] {$30+\theta$};
            \draw[io] (5,1) circle node[below=8] {$30-\theta$};
        \draw[densely dashed] (1,1) -- (1,5) -- (3,5) -- (3,3) -- (5,3) -- (5,1) -- cycle;
    \end{tikzpicture}
\end{document}

结果:

屏幕截图


更好的解决方案:可以说是更加灵活的代码。

\documentclass[border=3.14mm,tikz,x11names,dvipsnames,svgnames]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[block/.style ={rectangle, 
draw, fill=white,minimum width=20mm}]

\matrix (mat) [matrix of nodes,nodes={block},nodes in empty cells,
column sep=-\pgflinewidth,row sep=-\pgflinewidth,
row 1/.append style={minimum height=14mm},
row 2/.append style={minimum height=18mm},
row 3/.append style={minimum height=18mm}
]
{
 & & &\\
 & & &\\
 & & &\\
};
\node[circle,fill,label=above:$30-\theta$] at ([yshift=-2mm]mat-1-1.center) (c1) {};
\node[circle,fill,label=above:$20+\theta$] at ([yshift=-2mm]mat-1-2.center) (c2) {};
\node[circle,fill,label=below:$20-\theta$] at (mat-2-2.center) (c3) {};
\node[circle,fill,label=above:$30+\theta$] at (mat-2-3.center) (c4) {};
\node[circle,fill,label=below:$30+\theta$] at (mat-3-3.center) (c5) {};
\node[circle,fill,label=below left:$x_{31}$,label=above left:$\theta$] at (mat-3-1.center) (c6) {};
\foreach \X [evaluate=\X as \Y using {int(1+mod(\X,6))}] in {1,...,6}
{\draw[densely dotted] (c\X) -- (c\Y);}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容