配制乳胶

配制乳胶

。
当我运行这个算法时没有错误,但是当我将这个算法组合到我的文件中时,就会出现错误。请给我一个解决方案。

\documentclass[border=3mm,preview]{standalone}
\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{fit}
\newcommand\mcc[1]{\multicolumn{1}{c}{#1}}

\begin{document}
\[
\begin{NiceMatrix}
        & M_1   & M_2 & M_3     & M_4   \\
    J_1 & 0     & 0.66  & 2     & 0.33  \\
    J_2 & 1     & 0     & 1.22  & 0.33  \\
    J_3 & 0     & 1     & 2     & 1     \\
    J_4 & 2.33  & 0.33  & 1.67  & 0     \\
\CodeAfter
\tikz{
    \node (f) [draw, inner xsep=1em, fit=(2-2) (5-5)] {};
    \draw[line width=3pt, opacity=0.2]
        (2-2 |- f.north) -- (5-2 |- f.south)
        (3-2 -| f.west)  -- (3-5 -| f.east)
        (5-2 -| f.west)  -- (5-5 -| f.east);
     }
\end{NiceMatrix}
\]
\end{document}

。

答案1

如果您不提供有关您的文档的任何信息(您使用哪个文档类别等),那么几乎不可能帮助您,因此我对您上一个问题的回答使用standalone文档类别,而不关心在您的文档中放置提供的图像。

无论如何,您用于图像的我的代码与使用的文档类无关。此外,图像上方/下方的文本重叠或不可见也没有问题。编译它不会引发任何警告或错误。例如:

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{fit}


\usepackage{lipsum}

\begin{document}
\lipsum[11]
\[
\begin{NiceMatrix}
        & M_1   & M_2 & M_3     & M_4   \\
    J_1 & 0     & 0.66  & 2     & 0.33  \\
    J_2 & 1     & 0     & 1.22  & 0.33  \\
    J_3 & 0     & 1     & 2     & 1     \\
    J_4 & 2.33  & 0.33  & 1.67  & 0     \\
\CodeAfter
\tikz{
    \node (f) [draw, 
               inner xsep=1em, inner ysep=1pt, 
               fit=(2-2) (5-5)] {};
    \draw[line width=3pt, opacity=0.2]
        (2-2 |- f.north) -- (5-2 |- f.south)
        (3-2 -| f.west)  -- (3-5 -| f.east)
        (5-2 -| f.west)  -- (5-5 -| f.east);
     }
\end{NiceMatrix}
\]
\lipsum[12]
\[
\NiceMatrixOptions{%
        code-for-first-row = \scriptstyle\color{red},
        code-for-first-col = \scriptstyle\color{blue}}
%
\begin{NiceMatrix}[first-row,first-col]
        & M_1   & M_2 & M_3     & M_4   \\
    J_1 & 0     & 0.66  & 2     & 0.33  \\
    J_2 & 1     & 0     & 1.22  & 0.33  \\
    J_3 & 0     & 1     & 2     & 1     \\
    J_4 & 2.33  & 0.33  & 1.67  & 0     \\
\CodeAfter
\tikz{
    \node (f) [draw,
               inner xsep=0.8em, inner ysep=1pt, outer sep=2pt, % <---
               fit=(1-1) (4-4)] {};
    \draw[line width=3pt, opacity=0.2]
        (1-1 |- f.north) -- (4-1 |- f.south)
        (2-1 -| f.west)  -- (2-4 -| f.east)
        (4-1 -| f.west)  -- (4-4 -| f.east);
     }
\end{NiceMatrix}
\]
\end{document}

效果很好。第二张图片只是第一张图片的稍微花哨一点的版本,它展示了如何使用NiceMatrix环境的更多可能性。

在此处输入图片描述

所以,不清楚你的问题是什么。当然,这不是由你问题中 MWE 中显示的解决方案引起的。你所面临的问题的根源不是由它引起的。

答案2

供参考,使用 的最新版本nicematrix,可以在没有透明度和没有 Tikz 库的情况下进行该构造fit

\documentclass[border=3mm,preview]{standalone}
\usepackage{nicematrix,tikz}

\begin{document}
\[
\begin{NiceArray}{|cccc|}[first-col,first-row,last-col]
\CodeBefore
  \begin{tikzpicture} [line width = 3pt,lightgray]
      \draw (1-|1.5) -- (last-|1.5) ;
      \draw (2.5-|1) -- (2.5-|last) ;
      \draw (4.5-|1) -- (4.5-|last) ;
  \end{tikzpicture}
\Body
        & M_1   & M_2   & M_3   & M_4   & \\
    \Hline
    J_1 & 0     & 0.66  & 2     & 0.33  \\
    J_2 & 1     & 0     & 1.22  & 0.33  \\
    J_3 & 0     & 1     & 2     & 1     \\
    J_4 & 2.33  & 0.33  & 1.67  & 0     \\
    \Hline
\end{NiceArray}
\]
\end{document}

上述代码的输出

相关内容