如何修改以下代码以在生成的代码左侧添加 3 条相邻行?

如何修改以下代码以在生成的代码左侧添加 3 条相邻行?

我在 tkiz 中画了这些线,画出了 3 条相邻的平行线

        \node (A) at (-8.5,+1){};
        \node (B) at (-8.5,-15){};
        \draw[-] (A)--(B);
        \node[right=-10.3 of A] (b) (russell) at (1.8,0)
        {\includegraphics[width=1.2cm]{Figures/c2}};

        \node (C) at (-7.1,+1){};
        \node (D) at (-7.1,-15){};
        \draw[-] (C)--(D);

        \node (A) at (-7.8,-1.3){};
        \node (B) at (-7.8,-15){};
        \draw[->,green] (A)--(B);

如何将图片左侧的内容添加到以下 wme,使其与所附图片一样]1(答案来自那个问题:如何使用 Tikz 增加以下密集协议的字体?):

  \documentclass{article}
      \usepackage[landscape,margin=15mm]{geometry}
    \usepackage{tikz}
      \usetikzlibrary{arrows.meta, positioning}

      \usepackage{array, arydshln}
  \newcommand\ppbb{path picture bounding box}
    \usepackage{mathtools}
      \usepackage{enumitem}

      \begin{document}

        \begingroup
          \large
       \setlist[itemize]{nosep,label=,leftmargin=*,before=\vspace      {1ex},after=\vspace{-2ex}}
       \tikzset{base/.style = {text=black, inner xsep=3mm, inner ysep=2mm},
     boxA/.style = {name=A,
                    base,path picture={%
                    \draw[semithick,cyan,-{Straight Barb[length=0pt 3]}]
                    ([yshift=1mm]\ppbb.south west) -- ([yshift=1mm]       \ppbb.south east);
                                    }
                    },
     boxB/.style = {base,text=black, inner xsep=2mm,
                    path picture={%
                    \draw[semithick,cyan,-{Straight Barb[length=0pt 3]}]
                    ([yshift=-1mm]\ppbb.north east) -- ([yshift=-1mm]\ppbb.north west);
                                    },
                    below=of A},
   node distance = -1mm
     }
\centering
\setlength\tabcolsep{3pt}
    \begin{tabular}{@{} m{64mm} >{\centering}m{80mm} >{$}c<{$} m{94mm} @{}}
         \textcolor{red}{$v_1$ generate a temporary key pair list}
&   \tikz[baseline]{
    \node [boxA] {$M_{x^1_{v_1}}$};
    \node [boxB] {$\mathcal{T}_1= M_1\| Z_{H_1}(M_{1})$};
                    }
    &   H_1
        &   \begin{itemize}
            \item   Generates $M_1=\bigl\{M x^1_{v_1},(t_1,Max_{H_1}\bigr\}$
            \item   Determine $\mathrm{Sh}_{H_1}(M_1)$
            \end{itemize}\\
\hdashline
     \textcolor{red}{Execute the algorithm to get $(G_{T_1})$}\newline
    $\begin{multlined}[0.9\linewidth]
        L_{H_1} = (\mathcal{T}_1 \| G_{\mathcal{T}_{1}}\| Mx^2_{v_1})\| \\
        \sigma_{Pr^1_{v_1}}(\mathcal{T}_1, G_{\mathcal{T}_1}, Mx^2_{v_1})
     \end{multlined}$
      &   \tikz[baseline]{
     \node [boxA] {$\mathrm{L}_{H_1}$};
    \node [boxB] {$\mathcal{T}_2= M_2\| Z_{H_2}(M_{1})\| Z_{H_2}(M_2)$};
                    }
    &   H_2
        &   \begin{itemize}
            \item   Verifies $\mathrm{L}_{H_1}$
            \item   Verifies $G_{\mathcal{T}_1}$
            \item   Generates $M_2=\bigl\{Mx^2_{v_1} \| (t_{1}, Max_{H_   {1}}) \| (t_{2}, Max_{H_{2}})\bigr\}$
            \item   Determine $Z_{H_{2}}(M_{1})$
            \item   Determine $Z_{H_{2}}(M_{2})$
            \end{itemize}\\
\hdashline
  \textcolor{red}{Execute the algorithm to get ($G_{\mathcal{T}_{2}})$}        \newline
          $\begin{multlined}[0.9\linewidth]
  L_{H_2}=(\mathcal{T}_2\|G_{\mathcal{T}_2}\| Mx^3_{v_1}) \|  \\
    \sigma_{SK^1_{v_1}}(\mathcal{T}_2, G_{\mathcal{T}_2}, Mx^3_{v_1})
       \end{multlined}$
&   \tikz[baseline]{
    \node [boxA] {$\mathrm{L}_{H_2}$};
    \node [boxB] {$\mathcal{T}_3= M_1\| \sigma(M_1)\| M_3\|
                  Z_{H_3}(M_2)\| Z_{H_3}(M_3)$};
                    }
    &   H_3
        &   \begin{itemize}
            \item   Verifies $\mathrm{L}_{H_2}$ and execution
            \item   Verifies $G_{\mathcal{T}_2}$
            \item   Determine $Z_{H_{3}}(M_1)$
            \item   Determine $\sigma(M_1)$
            \item   Generates
            $\begin{multlined}[t]
            M_{3}=\bigl\{Mx^{3}_{v_1}\| (t_1, Max_{H_1})\|   \\
            (t_2, Max_{H_2}\| (t_3, Max_{H_3})\bigr\}
             \end{multlined}$
            \item   Determine $Z_{H_3}(M_2)$
            \item   Determine $Z_{H_3}(M_3)$
            \end{itemize}\\
\hdashline
    \textcolor{red}{execute the algorithm to get ($G_{\mathcal{T}_3}$)} \newline
           $\begin{multlined}[0.9\linewidth]
   L_{H_3}=(\mathcal{T}_{3}\|G_{\mathcal{T}_3}\| Mx^4_{v_1})\| \\ \sigma_  {SK^3_{v_1}}(\mathcal{T}_3, G_{\mathcal{T}_3}, Mx^4_{v_1})
   \end{multlined}$
&   \tikz[baseline]{
    \node [boxA] {$\mathrm{L}_{H_3}$};
    \node [boxB] {$\mathcal{T}_4=M_2\| \sigma(M_2)\|
                  M_4\|Z_{H_4}(M_3)\| Z_{H_4}(M_4)$};
                    }
    &   H_4
        &   \begin{itemize}
            \item   Verifies $\mathrm{L}_{H_3}$ and execution
            \item   Verifies $G_{\mathcal{T}_{3}}$
            \item   Determine $Z_{H_{4}}(M_{2})$
            \item   Determine $\sigma({M_{{2}}})$
            \item   Generates
            $\begin{multlined}[t]
            M_4=\bigl\{Mx^4_{v_1}\|(t_1, Max_{H_1})\| \\
                (t_2, Max_{H_2})\| (t_3, Max_{H_3})\| (t_4, Max_{H_4}) \bigr\}
             \end{multlined}$
            \item   Determine $Z_{H_4}(M_3)$
            \item   Determine $Z_{H_4}(M_4)$
            \end{itemize}\\
      \hdashline
      \end{tabular}
      \endgroup
       \end{document}

答案1

是的,你可以添加一个列。这是一个最小损坏版本,代表了非常有限的清理尝试。(但我忍不住纠正了Max在为列腾出空间时所做的更改,并统一了这些箭头的长度。)

\documentclass{article}
\usepackage[landscape,margin=15mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, positioning}
\usepackage{array, arydshln,multirow}
\newcommand\ppbb{path picture bounding box}
\usepackage{mathtools}
\usepackage{enumitem}
\newsavebox{\picbox}
\begin{document}
\savebox\picbox{\begin{tikzpicture}
\node (russell) {\includegraphics[width=1.2cm]{example-image-duck}};
\draw ([xshift=-3pt,yshift=1cm]russell.north west) -- ++ (0,-14) coordinate(aux);
\draw ([xshift=3pt,yshift=1cm]russell.north east) -- ++ (0,-14);
\draw[green,->] ([yshift=-1cm]russell.south) -- (russell.south|-aux);
\end{tikzpicture}}
 \begingroup
   \large
\setlist[itemize]{nosep,label=,leftmargin=*,before=\vspace      {1ex},after=\vspace{-2ex}}
\tikzset{base/.style = {text=black, inner xsep=3mm, inner ysep=2mm},
boxA/.style = {name=A,minimum width=74mm,
             base,path picture={%
             \draw[semithick,cyan,-{Straight Barb[length=0pt 3]}]
             ([yshift=1mm]\ppbb.south west) -- ([yshift=1mm]       \ppbb.south east);
                             }
             },
boxB/.style = {base,text=black, inner xsep=2mm,minimum width=70mm,
             path picture={%
             \draw[semithick,cyan,-{Straight Barb[length=0pt 3]}]
             ([yshift=-1mm]\ppbb.north east) -- ([yshift=-1mm]\ppbb.north west);
                             },
             below=of A},
node distance = -1mm
}
\centering
\setlength\tabcolsep{3pt}
\begin{tabular}{@{} m{20mm} @{} m{64mm} >{\centering}m{80mm} >{$}c<{$} m{75mm} @{}}
\multirow{4}{*}{\usebox\picbox}
&  \textcolor{red}{$v_1$ generate a temporary key pair list}
&   \tikz[baseline]{
\node [boxA] {$M_{x^1_{v_1}}$};
\node [boxB] {$\mathcal{T}_1= M_1\| Z_{H_1}(M_{1})$};
             }
&   H_1
 &   \begin{itemize}
     \item   Generates $M_1=\bigl\{M x^1_{v_1},(t_1,\max_{H_1}\bigr\}$
     \item   Determine $\mathrm{Sh}_{H_1}(M_1)$
     \end{itemize}\\
\cdashline{2-5}
& \textcolor{red}{Execute the algorithm to get $(G_{T_1})$}\newline
$\begin{multlined}[0.9\linewidth]
 L_{H_1} = (\mathcal{T}_1 \| G_{\mathcal{T}_{1}}\| Mx^2_{v_1})\| \\
 \sigma_{Pr^1_{v_1}}(\mathcal{T}_1, G_{\mathcal{T}_1}, Mx^2_{v_1})
\end{multlined}$
&   \tikz[baseline]{
\node [boxA] {$\mathrm{L}_{H_1}$};
\node [boxB] {$\mathcal{T}_2= M_2\| Z_{H_2}(M_{1})\| Z_{H_2}(M_2)$};
             }
&   H_2
 &   \begin{itemize}
     \item   Verifies $\mathrm{L}_{H_1}$
     \item   Verifies $G_{\mathcal{T}_1}$
     \item   Generates $\begin{multlined}[t]
     \textstyle M_2=\bigl\{Mx^2_{v_1} \| (t_{1}, \max_{H_   {1}}) \|\\
     \textstyle  (t_{2}, \max_{H_{2}})\bigr\}\end{multlined}$
     \item   Determine $Z_{H_{2}}(M_{1})$
     \item   Determine $Z_{H_{2}}(M_{2})$
     \end{itemize}\\
\cdashline{2-5}
& \textcolor{red}{Execute the algorithm to get ($G_{\mathcal{T}_{2}})$}        \newline
   $\begin{multlined}[0.9\linewidth]
L_{H_2}=(\mathcal{T}_2\|G_{\mathcal{T}_2}\| Mx^3_{v_1}) \|  \\
\sigma_{SK^1_{v_1}}(\mathcal{T}_2, G_{\mathcal{T}_2}, Mx^3_{v_1})
\end{multlined}$
&   \tikz[baseline]{
\node [boxA] {$\mathrm{L}_{H_2}$};
\node [boxB] {$\mathcal{T}_3= M_1\| \sigma(M_1)\| M_3\|
           Z_{H_3}(M_2)\| Z_{H_3}(M_3)$};
             }
&   H_3
 &   \begin{itemize}
     \item   Verifies $\mathrm{L}_{H_2}$ and execution
     \item   Verifies $G_{\mathcal{T}_2}$
     \item   Determine $Z_{H_{3}}(M_1)$
     \item   Determine $\sigma(M_1)$
     \item   Generates
     $\begin{multlined}[t]
      \textstyle M_{3}=\bigl\{Mx^{3}_{v_1}\| (t_1,\max_{H_1})\|   \\
     \textstyle (t_2, \max_{H_2}\| (t_3, \max_{H_3})\bigr\}
      \end{multlined}$
     \item   Determine $Z_{H_3}(M_2)$
     \item   Determine $Z_{H_3}(M_3)$
     \end{itemize}\\
\cdashline{2-5}
& \textcolor{red}{execute the algorithm to get ($G_{\mathcal{T}_3}$)} \newline
    $\begin{multlined}[0.9\linewidth]
L_{H_3}=(\mathcal{T}_{3}\|G_{\mathcal{T}_3}\| Mx^4_{v_1})\| \\ \sigma_  {SK^3_{v_1}}(\mathcal{T}_3, G_{\mathcal{T}_3}, Mx^4_{v_1})
\end{multlined}$
&   \tikz[baseline]{
\node [boxA] {$\mathrm{L}_{H_3}$};
\node [boxB] {$\mathcal{T}_4=M_2\| \sigma(M_2)\|
           M_4\|Z_{H_4}(M_3)\| Z_{H_4}(M_4)$};
             }
&   H_4
 &   \begin{itemize}
     \item   Verifies $\mathrm{L}_{H_3}$ and execution
     \item   Verifies $G_{\mathcal{T}_{3}}$
     \item   Determine $Z_{H_{4}}(M_{2})$
     \item   Determine $\sigma({M_{{2}}})$
     \item   Generates
     $\begin{multlined}[t]
    \textstyle M_4=\bigl\{Mx^4_{v_1}\|(t_1,\max_{H_1})\| \\
        \textstyle (t_2, \max_{H_2})\| (t_3, \max_{H_3})\| \\
         \textstyle (t_4, \max_{H_4}) \bigr\}
      \end{multlined}$
     \item   Determine $Z_{H_4}(M_3)$
     \item   Determine $Z_{H_4}(M_4)$
     \end{itemize}\\
\cdashline{2-5}
\end{tabular}
\endgroup
\end{document}

在此处输入图片描述

相关内容