%导言区(全局设置) \documentclass[a4paper]{article} \usepackage{ctex}%中文 \usepackage{varwidth} \usepackage[left=1.25in, right=1.25in,top=1in,bottom=1in]{geometry} %正文区-------------------------------------------------------------- \begin{document} $P_{nm}$ \begin{verbatim} 程序开始 设置基本参数 导入文件A,数据A是EGM2008的前4阶的前两列 利用课本68页公式计算 的值 for n= 2:4 %两层循环把每一次计算得到的N值累加起来 for m = 0:n if m==0 %当m为零时 利用公式(4)规格化 从A里得到和, 利用公式(3)计算N的值 else %当m不为零时 规格化 从A里得到和, 利用公式(3)计算N的值 end end end 6371000乘于N得到新N的值 程序结束 \end{verbatim} \end{document}![我想把数学公式放到程序里输出](https://pics.latexstudio.net/data/images/201911/baddea08e88895d.png "我想把数学公式放到程序里输出")

4 回答4

3
推荐使用 [listings](https://ctan.org/pkg/listings) 宏包了, verbatim 估计不行, 可以看看 [fancyvrb](https://ctan.org/pkg/fancyvrb) 有可能好一点. 如果用 [listings](https://ctan.org/pkg/listings) 有两种做法的一种是直接用逃逸字符把公式放在里面. 另一种就是加参数. 看看 [listings](https://ctan.org/pkg/listings) 的文档有详细介绍. 见下图: ![](https://pics.latexstudio.net/data/images/201911/7cba15216d4f605.png)
  • 非常感谢! – a0000 2019-11-10 14:29 回复
4
<p>用 <a href="https://ctan.org/pkg/listings"><code>listings</code></a> 宏包,使用逃逸字符 <code>escapechar=</code> 或者 <code>escapeinside=</code>。</p> <pre><code class="lang-tex">\documentclass[a4paper]{ctexart} \usepackage{listings,amsmath} \usepackage[left=1.25in, right=1.25in,top=1in,bottom=1in]{geometry} \begin{document} \begin{equation} \label{eq:root} ax^2+bx+c=0 \end{equation} 求解代码如下: \begin{lstlisting}[language={[Auto]lisp},escapeinside=``,basicstyle=\ttfamily] (defun root (a b c / delta x1 x2) `式\eqref{eq:root} 的根 \[ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} \] ` (setq delta (- (* b b) (* 4.0 a c)) x1 (/ (- b (sqrt delta)) 2.0 a) x2 (/ (- b (* -1.0 (sqrt delta))) 2.0 a)) (return (list x1 x2)) ) \end{lstlisting} \end{document} </code></pre>
0
从例子内容(而非问题描述)看,你的输入内容,介于 1. 带注释的程序源码,和 1. 伪代码(因为有「程序开始/结束」,有大量未注释的描述文字) 之间。我判断,更像后者(伪代码)。 如果排版的是源码,那么适合用抄录环境实现;排版伪代码,就要用伪代码(也称算法)相关宏包。 伪代码相关宏包的介绍,参考 https://www.zhihu.com/question/26535085/answer/33135927
0
根据你提供的示例,建议你研究一下algorithem2e宏包,在命令行用`texdoc algorithem2e`查看其说明书就可以了。

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。