SLatex 和行号?

SLatex 和行号?

我在用着乳胶排版一些 Racket 源代码。我希望在左边缘显示行号,这样我就可以在我的文档中引用它们。但是,我还没有发现打开行号的选项。

我想我应该切换到列表包并完成它,但在这之前,我想与这里的其他 LaTeX 专家核实一下。

答案1

来自清单文档:

SLaTeX 是一个漂亮的打印 Scheme 程序(可自动调用 LaTeX),专为 Scheme 和其他 Lisp 方言而设计。它支持独立文件、文本和显示列表,如果您在注释中使用 LATEX 代码,甚至可以嵌套命令/环境。关键字、常量、变量和符号都是可定义的,并且可以使用不同的样式。没有行号

最好的办法是使用listingspygments。下面是 MWE ,可listings帮助您入门。

\documentclass{article} 
\usepackage{xcolor,listings}
\begin{document} 
\lstloadlanguages{Lisp}
\newcommand\emphasis[2][red]{\lstset{emph={#2,},
   emphstyle={\ttfamily\textcolor{#1}}}}%
\emphasis{x,a}
\lstset{%
        language={[Auto]Lisp},  
        framesep=0pt,
        numbers=left,numberstyle=\normalsize,stepnumber=1,numbersep=5pt,
        breaklines=true,
    basicstyle=\normalsize\ttfamily,
    showstringspaces=false,
    keywordstyle=\ttfamily\color{blue},
    identifierstyle=\ttfamily,
    stringstyle=\color{maroon},
    commentstyle=\color{black},
    rulecolor=\color{gray!10},
    xleftmargin=5pt,
    xrightmargin=5pt,
    aboveskip=\bigskipamount,
    belowskip=\bigskipamount,
        backgroundcolor=\color{gray!5}
}
\begin{lstlisting} 
(define-syntax setq 
  (syntax-rules () 
    [(setq x a) 
     (begin (set! x a) 
            x)])) 
\end{lstlisting} 
\end{document}

在此处输入图片描述

我特别喜欢列表(特别是如果你编写教程),因为你可以突出显示特定的关键词(参见\emphasis代码中的宏)。

如果你确实坚持使用 SLaTeX,你可以尝试以下代码,它将编号完整页面

\documentclass[10pt]{article}
\usepackage{fancyhdr,lipsum}
\makeatletter
 \newsavebox{\@linebox}
 \savebox{\@linebox}[3em][t]{\parbox[t]{3em}{%
   \@tempcnta\@ne\relax
   \loop{\underline{\scriptsize\the\@tempcnta}}\\
     \advance\@tempcnta by \@ne\ifnum\@tempcnta<48\repeat}}
 \pagestyle{fancy}
 \fancyhead{}
 \fancyfoot{}
 \fancyhead[CO]{\scriptsize How to Count Lines}
 \fancyhead[RO,LE]{\footnotesize\thepage}
%% insert this block within a conditional
 \fancyhead[LE]{\footnotesize\thepage\begin{picture}(0,0)%
      \put(-26,-25){\usebox{\@linebox}}%
      \end{picture}}
 \fancyhead[LO]{%
    \begin{picture}(0,0)%
      \put(-18,-25){\usebox{\@linebox}}%
     \end{picture}}
\fancyfoot[C]{\scriptsize Draft copy}
%% end conditional
\makeatother
\begin{document}
\section*{Lorem Ipsum}
\lipsum[1]
$$f_{nk}=\sum\,{\frac{n!}{
1!^{k_1}\,k_1!\,2!^{k_2}\,k_2!\,3!^{k_3}\,k_3!\,\ldots}}\; 
f_1^{k_1}f_2^{k_2}f_3^{k_3}\ldots\;,$$
summed over all $k_1,k_2,k_3,\ldots\geq 0$ 
\lipsum[3]
$$f_{nk}=\sum\,{\frac{n!}{
1!^{k_1}\,k_1!\,2!^{k_2}\,k_2!\,3!^{k_3}\,k_3!\,\ldots}}\; 
f_1^{k_1}f_2^{k_2}f_3^{k_3}\ldots\;,$$
summed over all $k_1,k_2,k_3,\ldots\geq 0$ 
\lipsum[5-7]
\end{document}

在此处输入图片描述

相关内容