提问于:
浏览数:
4988
%导言区(全局设置)
\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 回答
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`查看其说明书就可以了。
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。