如何填充Vigenère square?

2021-02-19 11:53

我想做一个维根埃平方,但我必须修改它好几次,所以有任何方法来填补它与multido或任何其他方法,而不是表格和手工。updateall是伟大的答案,显示我是多么无知。

解答动态

  • 一次填充一行表。
    \documentclass{article}\usepackage[table]{xcolor}\definecolor{headers}{RGB}{234232,218}\ExplSyntaxOn\tl释义_新:N\l\u vigenere\u body\u tl\NewDocumentCommand{\vigenere}{}{%生成第一行\tl_设置:Nn\l\u vigenere\u body\u tl{\hline\rowcolor{headers}}\tl\u put_右:Nx\你的身体是什么_功能:nN{26}\维格纳_第一名:n}\tl\u输入_右:Nn\l\u vigenere\u body\u tl{\\\ hline}\int\u步骤_内联:nn{ 26 } { \TLU输出_右:Nn\我是维格纳,你的身体是什么_阿尔法:n{##1}}\tlu输入_右:Nx\你的身体是什么_功能:nnN{##1}{##1+25}\vigenere公司_进一步:n}\tl\u输入_右:Nn\l_vigenere_body_tl{\\\hline}}\group_begin:\setlength{\tabcolsep}{0.5pt}\sffamily\begin{tabular}{124;>;{\columncolor{headers}}c

    • *{26}{c

      • }}\l}u vigenere}u body?tl\end{Tablear}\group?end:}\cs_新:Nn\维格纳_第一名:n{amp;\内部到_阿尔法:n{\n内景_型号:nn{1-1}{26}+1}}\ExplSyntaxOff\begin{document}\vigenere\end{document}
        } 这是一个基于LuaLaTeX的解决方案,margin=1in]{geometry}%为'\extrawheight'宏设置页参数\usepackage{array}%\usepackage[table]{xcolor}\usepackage{luacode}\begin{luacode} s=quot;--一个辅助函数i=1,26 do的函数rowprint(t)特克斯·斯普林特(quot。。t: 子(i,i)结束特克斯·斯普林特(quot;)end—主函数vigenere()特克斯·斯普林特(quot;)--标题行特克斯·斯普林特(quot;)对于i=1,26 do特克斯·斯普林特(quot;)。。s: sub(i,i)。。quot;)结束特克斯·斯普林特(quot;)--数据行(从A到Z)t=s对于j=1,26 do t=s:sub(j)。。s: 接头(1,j-1)特克斯·斯普林特(quot;)。。t: sub(1,1)。。quot;)rowprint(t)endend \end{luacode}\begin{document}\begin{center}\setlength\tabcolsep{3pt}\setlength\extraowheight{3pt}\begin{tabular}{27}{c}}}\directlua{vigenere()}\end{tabular}\end{center}\end{document document 循环遍历字母表的另一种方法页码:

        \documentclass{article}\usepackage[margin=1in]{geometry}\usepackage{pgffor,xcolor,eqparbox}\makeatletter\newcommand{\ALPH}[1]{%\ifnum#1quot;colorquot;darkkhakiquot;\\ssbfquot;middlequot;\\ssquot;)如果i*j==0,则上下文.bTD(uwu)上下文(字符串.char(64+数学.max(一),j) ))其他上下文.bTD()上下文(字符串.char(65+(i+j-2)%26)结束上下文.eTD()结束上下文.eTR()endcontext.eTABLE表()\stopluacode\stopTEXpage\stoptex

        • 只是为了好玩,另一个基于\foreach宏的解决方案来自OpTeX:第2 页\清单{ABCDCDEffghghijjjjjjmnooqtvxxz}\def\cyclelist?1 1{2{1}\def\cyclelist 2 \hbox{\llap{\bf#1}\vrule\ea\foreach\list\do{\fr{{1}}}\hrule\ea\cyclelist\list\relax}%}\bye

          • End

          免责声明:

          本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。