先看6.Ctex
1.安装要素
-
texlive.iso(3.7GiB ,使用清华大学镜像):https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
注:原始官网为:http://tug.org/texlive/ -
编辑器1(可选):http://texstudio.sourceforge.net/
-
aurora破解:https://cloud.189.cn/t/RF3QZbuYVzay(访问码:gu8q)
2.安装
解压texlive.iso,然后执行:install-tl-windows.bat
想修改选项的可以点击”Advance“,然后修改一下安装路径到F盘,其余默认安装。(安装时间有点长)
texstudio直接安装就行了,当然也可以选择其他的编辑器。
关于aurora,安装包里,一个直接安装,另一个是破解器。先安装,
安装aurora时,不要勾选Miktex,因为我们用的是texlive
再破解,破解的时候,把电脑的日期改2009年的某天!
3.操作
打开一个word文件,插入Anrora Equation:
接着修改Path:因为我们安装的是texliv,所以对应的路径在texlive文件中
比如三个路径分别为:
F:\texlive\2020\bin\win32\latex.exe
F:\texlive\2020\bin\win32\dvipng.exe
F:\texlive\2020\bin\win32\pdflatex.exe
4.例子
例子摘自:https://www.neusncp.com/user/blog?id=151
package里添加:
\documentclass{article}
\usepackage{multirow}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}}
正文部分:
\begin{algorithm}[H]
\caption{algorithm1}
\label{your label}
\begin{algorithmic}[1]
\Require
Enter .....;
\Ensure
Outpur......
\State state1......
\State state2......
\State state3......
\While{(a$>$b)}
\State state4......
\If { c$<$d}
\State state5......
\Else
\State state6......
\EndIf
\State state7......
\EndWhile
\For{aaa}
\State state8......
\EndFor
\end{algorithmic}
\end{algorithm}
然后点击Refresh,即可生成。
如果有生成一个方格,而非公式,可能和设置有关:
5.编辑器还没用过
aurora和latex有区别,不能直接用
\documentclass[11pt]{article}
\usepackage{CJK}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
\begin{document}
\begin{CJK*}{UTF8}{song}
\begin{algorithm}[H]
\caption{algorithm1}
\label{your label}
\begin{algorithmic}[1]
\Require
Enter .....;
\Ensure
Outpur......
\State state1......
\State state2......
\State state3......
\While{(a$>$b)}
\State state4......
\If { c$<$d}
\State state5......
\Else
\State state6......
\EndIf
\State state7......
\EndWhile
\For{aaa}
\State state8......
\EndFor
\end{algorithmic}
\end{algorithm}
\end{CJK*}
\end{document}
需要的包放在开头,然后是正文。不用意外,这样会报错,所以加了四句:
\begin{document}
\begin{CJK*}{UTF8}{gkai}
.......
\end{CJK*}
\end{document}
6.Ctex
在vscode+Latex插件组合下,下述确实生成了正常的汉字,但是利用aurora插入到word2016 (32bits)时,不显示汉字,搞了一个晚上,我直接郁闷了。
\documentclass[11pt]{article}
\usepackage{ctex}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
\begin{document}
\begin{CJK*}{UTF8}{song}
\begin{algorithm}[H]
\caption{ : Optimized NTT with GS butterfly}
\label{your label}
\begin{algorithmic}[1]
\Require
Polynomial a$\in$ Rq, $\psi^i$ and $\psi^{-i}$ stored in psi[ ] and invpsi[ ],respectively.
\Ensure
Polynomial $a\in R_q = NTT_\omega (a) or NTT_{\omega^{-1}}(a)$
\State logt = 8; /*m = ( 1$\ll$ logm)*/
\For {$(logm = 0 ;m < n;m + +)$}
\State logt = logt - 1 /*t = ( 1$\ll$ logt)*/
\For{$(i = 0 ;i < m;i + +)$}
\State 可以
\State jFirst = i $\ll$ (logt + 1 )
\State jLast = i $\ll$ (logt + 1 ) + t
\For{$(j = jF irst;j < jLast;j + + )$}
\If {$NTT_\omega$}
\State $(u1,u2) = a[j] /*NTT_\omega */$
\State $(v1,v2) = a[j + t]$
\State a[j] = (u1 + v1,u2 + v2) mod q
\State $\omega = psi[(j - jF irst) \ll (logm + 1)]$
\State $a[j + t] = ( (u1 - v2)\omega ,(u2 - v2)\omega ) mod q$
\Else
\State $(u1,u2) = a[BitReverse(j)] /*NTT\omega^{-1} */$
\State $(v1,v2) = a[BitReverse(j + t)]$
\State a[BitReverse(j) ] = (u1 + v1,u2 + v2) mod q
\State $\omega^{-1}= invpsi[(j - jF irst) \ll$
\State $(logm + 1 ) + 1 \ll (7 - logt)]a[BitReverse(j + t)] $
\State $= ((u1 - v2)\omega^{-1},(u2 - v2)\omega^{-1})mod q$
\EndIf
\EndFor
\EndFor
\EndFor
\end{algorithmic}
\end{algorithm}
\end{CJK*}
\end{document}
然后看到链接中用ctex正常生成,这意味着,我们要抛弃texlive了,心中有点失落,还是下载吧.
https://mirrors.tuna.tsinghua.edu.cn/ctex/legacy/2.9/,为了避免后续还要下载各种package,直接下载那个1.3GiB的完整版,安装完成后,记得一定要更改aurora中的Path对应的路径如:
F:\CTEX\MiKTeX\miktex\bin\latex.exe
并按下述链接操作:链接同上上最后正常输出汉字
aurora的packages输入下:
\documentclass[11pt]{article}
\usepackage{ctex}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
正文部分输入下:
\begin{CJK}{GBK}{song}
\begin{algorithm}[H]
\caption{ : GS 蝶形运算优化 NTT}
\label{your label}
\begin{algorithmic}[1]
\Require
多项式 $a\in$ Rq, $\psi^i$ 和 $\psi^{-i}$ 分别存储在 psi[ ] 和 invpsi[ ]中.
\Ensure
多项式 $a\in R_q = NTT_\omega (a)$ 或 $NTT_{\omega^{-1}}(a)$
\State logt = 8; /*m = ( 1$\ll$ logm)*/
\For {$(logm = 0 ;m < n;m + +)$}
\State logt = logt - 1 /*t = ( 1$\ll$ logt)*/
\For{$(i = 0 ;i < m;i + +)$}
\State jFirst = i $\ll$ (logt + 1 )
\State jLast = i $\ll$ (logt + 1 ) + t
\For{$(j = jF irst;j < jLast;j + + )$}
\If {$NTT_\omega$}
\State $(u1,u2) = a[j]$ /*$NTT_\omega$ */
\State $(v1,v2) = a[j + t]$
\State a[j] = (u1 + v1,u2 + v2) mod q
\State $\omega = psi[(j - jF irst) \ll (logm + 1)]$
\State $a[j + t] = ( (u1 - v2)\omega ,(u2 - v2)\omega ) mod q$
\Else
\State $(u1,u2) = a[BitReverse(j)]$ /*$NTT\omega^{-1}$ */
\State $(v1,v2) = a[BitReverse(j + t)]$
\State a[BitReverse(j) ] = (u1 + v1,u2 + v2) mod q
\State $\omega^{-1}= invpsi[(j - jF irst) \ll$
\State $(logm + 1 ) + 1 \ll (7 - logt)]a[BitReverse(j + t)] $
\State $= ((u1 - v2)\omega^{-1},(u2 - v2)\omega^{-1})mod q$
\EndIf
\EndFor
\EndFor
\EndFor
\end{algorithmic}
\end{algorithm}
\end{CJK}