调整卡诺图大小

调整卡诺图大小

我正在尝试创建卡诺图,但我需要将变量作为 K 图的项。我正在使用卡诺图包,我可以从中获得 K 图内的变量项,但 K 图太小了。我需要调整它的大小,以便每个项都适合其框。

小K图

我找到了这个文件:https://ctan.mines-albi.fr/graphics/pgf/contrib/karnaugh-map/karnaugh-map.pdf,这表示我可以使用以下代码调整 K 图的大小:

\resizebox{\columnwidth}{!}{%
\begin{karnaugh-map}
\end{karnaugh-map}%
}

我尝试使用该方法来调整我的 K-map 的大小,但是编译时出现错误。

\documentclass[tikz, border=2mm]{standalone}
\usepackage{karnaugh-map}
\usepackage{graphicx}
\begin{document}
    \resizebox{\columnwidth}{!}
    {
        \begin{karnaugh-map}[2][2][1]
            \manualterms{$A_0'B_0'+A_0B_0$,0,0,$A_0'B_0'+A_0B_0$}
        \end{karnaugh-map}
    }
\end{document}
❯ tectonic test.tex
Running TeX ...
warning: accessing absolute path `/dev/null`; build may not be reproducible in other environments
error: test.tex:6: Missing number, treated as zero
error: halted on potentially-recoverable error as specified

答案1

根据手册,您无法更改相关尺寸。因此,一种替代方法是使用plain Tikz。这是其中一种方法:还有更多使用 的方法Tikz

作为参考,请查看手册。您会在第 1 部分的教程中找到这里使用的大部分语句。

结果

一些提示:

  • 具有样式的节点kd构成矩阵
  • 它们的方形形状通过以下方式设置minimum size
  • 这里我用绝对坐标来定位它们

值 0,1 :

  • xv样式yv确保相关节点适合从下到上(从南到北)和从左到右(从东到西)
  • 这是一种定位的捷径

标签 X1、X2:

  • 类似方法,使用节点(A)的右上角
  • 以及节点(A)的左下角
  • 以及 y/x 方向的一些绝对偏移
\documentclass[10pt,border=3mm,tikz]{standalone}

\begin{document}

 \begin{tikzpicture}[
    kd/.style={draw, minimum size=2.5cm},
    xv/.style={anchor=south,minimum height=1cm},
    yv/.style={anchor=east,minimum width=1cm},
    xl/.style={anchor=south,yshift=9mm},
    yl/.style={anchor=east,xshift=-9mm},
    ]
    % ~~~ matrix ~~~~~~~~~~~~~~~~~~~~~~~~
    \node[kd] (A)   at (0,0)        {$A_0'B_0'+A_0B_0$};
    \node[kd]       at (2.5,-2.5)   {$A_0'B_0'+A_0B_0$};
    \node[kd] (B)   at (2.5,0)      {$0$};
    \node[kd] (C)   at (0,-2.5)     {$0$};
    % ~~~ values ~~~~~~~~~~~~~
    \node[xv] at (A.north) {$0$};
    \node[xv] at (B.north) {$1$};
    \node[yv] at (A.west)  {$0$};
    \node[yv] at (C.west)  {$1$};
    % ~~~ labels ~~~~~~~~~
    \node[xl] at (A.north east) {$X_0$};
    \node[yl] at (A.south west) {$X_1$};
 \end{tikzpicture}

\end{document}

Tikz 的一些替代方案:

  • 使用矩阵布局
  • 使用 tikzlibrary 定位
  • 使用 foreach 循环
  • ...

一些没有 Tikz 的替代方案:

  • 使用任何类型的表格

相关内容