latex中使用listings时如何使matlab代码块居左而非居中,最好与上面的文本对齐

2020-09-17 21:12发布

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [ ] TexLive `年...

## 编译环境 操作系统 * [x] Windows 7/8/10 * [ ] macOS * [ ] Linux `若需勾选,请把[ ]改成[x]` Tex发行版 * [ ] TexLive `年份` * [ ] MikTeX `版本号` * [ ] CTeX `若需勾选,请把[ ]改成[x]` # 我的问题 ## latex代码 [![latex代码](https://wenda.latexstudio.net/data/attach/200917/ghZeIgpd.jpg "latex代码")](https://wenda.latexstudio.net/data/attach/200917/ghZeIgpd.jpg "latex代码") ## 实际效果 [![实际效果](https://wenda.latexstudio.net/data/attach/200917/h0Ch1eui.jpg "实际效果")](https://wenda.latexstudio.net/data/attach/200917/h0Ch1eui.jpg "实际效果") ## 理想效果 [![理想效果](https://wenda.latexstudio.net/data/attach/200917/SEAByn47.jpg "理想效果")](https://wenda.latexstudio.net/data/attach/200917/SEAByn47.jpg "理想效果") ## 问题:如何让matlab代码块居左而非居中,最好与上面的文本对齐 ## 代码 ``` \documentclass{article} \usepackage{ctex} \usepackage{amsmath} \usepackage{listings} %\lstset{language=Matlab} \title{chapter 1} \date{\today} \begin{document} \section{习题一} \noindent2.会出现截断误差,因为舍去了泰勒展开的误差项\\ \indent 绝对误差:$E_x=0.00000001779866069$\\ \indent 相对误差:$R_x=0.00000006971461254$\\ \begin{lstlisting}[language=Matlab] syms x; y=x^6/6 + x^4/2 + x^2 + 1; p_hat=int(y,0,1/4); p=0.2553074606; E_x=vpa(abs(p-p_hat),10); R_x=vpa(E_x/abs(p),10); \end{lstlisting} \end{document} ```
1条回答
逆天小白兔
2020-09-17 21:27
都是缩进惹的祸 下面代码运行看看 ``` \documentclass{article} \usepackage{ctex} \usepackage{amsmath} \usepackage{listings} %\lstset{language=Matlab} \title{chapter 1} \date{\today} \begin{document} \section{习题一} \noindent2.会出现截断误差,因为舍去了泰勒展开的误差项 绝对误差:$E_x=0.00000001779866069$ 相对误差:$R_x=0.00000006971461254$ \begin{lstlisting}[language=Matlab,xrightmargin=0em] syms x; y=x^6/6 + x^4/2 + x^2 + 1; p_hat=int(y,0,1/4); p=0.2553074606; E_x=vpa(abs(p-p_hat),10); R_x=vpa(E_x/abs(p),10); \end{lstlisting} \begin{lstlisting}[language=Matlab,xrightmargin=0em,frame=trbl] syms x; y=x^6/6 + x^4/2 + x^2 + 1; p_hat=int(y,0,1/4); p=0.2553074606; E_x=vpa(abs(p-p_hat),10); R_x=vpa(E_x/abs(p),10); \end{lstlisting} \begin{lstlisting}[language=Matlab,frame=trbl] syms x; y=x^6/6 + x^4/2 + x^2 + 1; p_hat=int(y,0,1/4); p=0.2553074606; E_x=vpa(abs(p-p_hat),10); R_x=vpa(E_x/abs(p),10); \end{lstlisting} \end{document} ```

一周热门 更多>