我想使用 mcode.sty 将部分 Matlab 代码包含到我的 LaTeX 文档中。以下是 MWE:
\documentclass[b5paper, 10pt, twoside, openright, dvipsnames,cmyk]{report}
\usepackage{listings} % Is this package necessary?
\usepackage[framed,numbered,autolinebreaks]{mcode}
\begin{document}
Figure~\ref{fig:binarysearch} doesnt work!
\begin{figure}
\label{fig:binarysearch}
\lstinputlisting{pics/met/binarysearch.m}
\caption[Matlab code for the half-interval search method]
{Matlab code for the half-interval search method}
\end{figure}
\end{document}
有没有办法定义每个包含的代码段从哪个行号开始?假设我想从第 6 行开始。如何实现?默认值(自然)为 1。
我已将代码放在图形环境中,我想将其作为图形引用。但是,在文本中引用该图形不起作用。编译后的文件写入的??
不是图形引用。
答案1
下面的代码解决了第一个问题:
\lstinputlisting[firstnumber=6]{{pics/met/binarysearch.m}}
firstnumber
定义起始行号。
第二个问题:代码顺序错误。以下代码是正确的:
\begin{figure}[htb]
\centering
\lstinputlisting[firstnumber=6]{pics/met/binarysearch.m}
\caption[Matlab code for the half-interval search method]
{Matlab code for the half-interval search method}
\label{fig:binarysearch}
\end{figure}