|
发表于 2007-4-20 11:10:40
|
显示全部楼层
我用 texlive 只用过光盘版的,里面是带有 listings 包的
\verb++ 适合于在段落中较短的内容使用
verbatim 环境在与其它环境配合时似乎有很多限制,比较郁闷,而且只是最基本的原样照显
listings 包提供的 lstlisting 环境同样不容易与其它环境配合,好处是可以控制加亮与格式
我查了一下 lshort 的代码,里面自定义了一个环境 example,我把里面的代码帖出来- % --- example ----
- % This is an environment to set LaTeX examples.
- % On the left side the source text and on the
- % right side the typeset text.
- %
- % \begin{example}
- % \Large This is Large
- % \end{example}
- %
- % This Part is stolen from the verbaim.sty by FMi
- %
- \newwrite\example@out
- \newcounter{exacnt}
- \setcounter{exacnt}{1}
- \newlength{\savefboxrule}
- \newlength{\savefboxsep}
- \newlength{\outdent}
- \setlength{\outdent}{2cm}
- \addtolength{\headwidth}{\outdent}
- \newenvironment{example}%
- {\begingroup% Lets Keep the Changes Local
- \@bsphack
- \immediate\openout \example@out \jobname.exa
- \let\do\@makeother\dospecials\catcode`\^^M\active
- \def\verbatim@processline{%
- \immediate\write\example@out{\the\verbatim@line}}%
- \verbatim@start}%
- {\immediate\closeout\example@out\@esphack\endgroup%
- %
- % And here comes my part. :-
- %
- \stepcounter{exacnt}%
- \setlength{\parindent}{0pt}%
- \par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip
- % Page \lsspageref{exa:\theexacnt}
- \expandafter\ifx\csname r@exa\theexacnt\endcsname\relax\else
- %\ifx\pdfoutput\undefined % We're not running pdftex
- % \ifodd\lsspageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi%
- %\else
- % HyPsd@pageref internal hyperref command v6.69c
- \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi%
- %\fi
- \fi
- \makebox[\textwidth][l]{%
- %\raisebox{-\height}[0pt][\totalheight]{%
- \begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}%
- \small\verbatiminput{\jobname.exa}
- \end{minipage}%
- %}%
- \hspace{5mm}%
- \setlength{\savefboxrule}{\fboxrule}%
- \setlength{\fboxrule}{0.1pt}%
- \setlength{\savefboxsep}{\fboxsep}%
- \setlength{\fboxsep}{3mm}%
- % \raisebox{-\height}[0pt][\totalheight]{%
- \fbox{%
- \begin{minipage}{0.5\outdent+0.54\textwidth-3.5mm-2\fboxrule-2\fboxsep}%
- \setlength{\fboxrule}{\savefboxrule}%
- \setlength{\fboxsep}{\savefboxsep}%
- \setlength{\fboxrule}{0.5pt}%
- \setlength{\parskip}{1ex plus 0.4ex minus 0.2ex}%
- \begin{trivlist}\item\small\input{\jobname.exa}
- \end{trivlist}
- \end{minipage}
- }%
- % }%
- }\label{exa\theexacnt}%
- \par\addvspace{3ex plus 0.8ex minus 0.5ex}\vskip -\parskip
- }
复制代码 对 LaTeX 了解并不是很多,不知道摘的这部分是否有多余或缺少,楼主最好自己看一下 lshort 源码中的 lshort.sty |
|