如何填写维格纳矩阵?
我试图做一个维格纳矩阵,但我不得不修改它好几次,所以有没有办法用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\stoptext- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。