如何在 Lyx 中插入协议?

如何在 Lyx 中插入协议?

我知道如何在 Lyx 中插入“算法”。但是如何插入“协议”,如下图所示?

在此处输入图片描述

答案1

您可以使用algorithmalgorithmic来生成协议。更多信息这里这里

为了编写《议定书》的“序言”(缔约方、输入等),我将使用一个简单的表格。

最终结果可能是这样的:

\documentclass[a4paper,11pt]{article}
\usepackage{algorithm}
\usepackage{algorithmic}  %need these for the protocol
\usepackage{array}        % this package for the tabular


\newcolumntype{L}{>{\centering\arraybackslash}m{3.8cm}} %this is to create a nice tabular, you can tweek this, or tweek the tabular directly

\begin {document}
blah blah blah
\begin{algorithm}[H]
\floatname{algorithm}{Protocol} %define the title to be protocol
\renewcommand{\thealgorithm}{}
\caption{Something about integers}
\label{protocol1}
\begin{tabular}{LLL} %define the party, input and so on
 Party &$A$ &$B$\\
 Hard &tada &woohoo\\
 \hline
\end{tabular}

\begin{algorithmic}[1] %state the steps
\STATE $A$ chooses a random number $r$ of $\log_{2}N-1$ bits, encrypts it, and computes...
\STATE $B$ dectypts $\left[z\right]$...
\STATE $A$ and $B$ do something...\\
That is long\\
and takes up space\\
\STATE $B$ computes...
\end{algorithmic}
\end{algorithm} 

\end{document}

结果:

结果

要在 Lyx 中执行此操作,您只需将包含三个包(algorithmalgorithmicarray)的行以及包含的行添加newcolumntype到文档前言中(document->settings->preamble)。

然后在文本主体中添加 ERT(cntrl +l)浮点数(\begin{algorithm}...您想要的所有内容)。

请注意,使用该选项可以将浮点数“明确地”放置在这里[H]。您可能希望将其更改为更合适的内容,例如[htb]

或者,您可以在浮点插入表中插入一个算法浮点数,然后在表后使用 ERT 添加算法。

答案2

部分答案:使用包 newfloat。

    \documentclass{scrartcl}
\usepackage{newfloat, blindtext}

\DeclareFloatingEnvironment[
fileext=lop,
listname={List of Protocols},
name=Protocol,
placement=p,
within=section,
%chapterlistsgaps=off,
]{protocoll} 


\begin{document}

\blindtext

\begin{protocoll}
\caption{Exact integer division}
  \begin{tabular}{lr}
    Here & is the content\\
  \end{tabular}

\end{protocoll}

\end{document}

在 Lyx 中,您可以将 LaTeX 代码添加到您的文档中,我假设您知道这一点。

相关内容