Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
e9d2250e
提交
e9d2250e
9月 06, 2006
创建
作者:
rsc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
goodbye lgrind
上级
f3fc72c5
全部展开
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
0 行增加
和
230 行删除
+0
-230
lgrind.sty
lgrind.sty
+0
-230
lgrindef
lgrindef
+0
-0
没有找到文件。
lgrind.sty
deleted
100644 → 0
浏览文件 @
f3fc72c5
%%
%% This is file `lgrind.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lgrind.dtx (with options: `package')
%%
%% LGrind is used to format source code of different programming
%% languages for LaTeX.
%%
%% LGrind is a major adaptation of Jerry Leichter's tgrind for LaTeX,
%% which was a notable improvement upon Van Jacobsen's tgrind for
%% plain TeX, which was adapted from vgrind, a troff prettyprinter.
%%
%% LGrind contains non-free code written by Van Jacobson, who does not answer
%% to any request for changing his licence. This software is therefore not
%% maintained. I also do not accept any cheques anymore.
%% Based on Van Jacobson's ``tgrindmac'', a macro package for TeX.
%% Modified, 1987 by Jerry Leichter. Put '@' in all internal names.
%% Modified, 1991 by George Reilly. Changed name from tgrind to lgrind.
%% Modified, 1995 by Michael Piefel. Made it work with \LaTeXe.
%% -1999 Hundreds of bells and whistles. No changelog here.
\NeedsTeXFormat
{
LaTeX2e
}
[1996/06/01]
\ProvidesPackage
{
lgrind
}
[2002/01/28 v3.67 LGrind environment and supporting stuff]
%%stopzone % VIM syncing
\newcount\lc
@unt
\newcount\ln
@xt
\newcount\LGnuminterval
\LGnuminterval
=10
\DeclareOption
{
nolineno
}{
\LGnuminterval
=50000
}
\DeclareOption
{
lineno5
}{
\LGnuminterval
=5
}
\newif\ifLGleftnum
\DeclareOption
{
leftno
}{
\LGleftnumtrue
}
\newskip\LGindent
\LGindent
=1.6667
\parindent
\DeclareOption
{
noindent
}{
\LGindent
=0pt
}
\newif\ifLGnorules
\DeclareOption
{
norules
}{
\LGnorulestrue
}
\newlength
{
\LGsloppy
}
\setlength
{
\LGsloppy
}{
7.2pt
}
\DeclareOption
{
fussy
}{
\LGsloppy
=0pt
}
\newcommand
{
\DefaultProc
}{
\@
gobble
}
\newcommand
{
\DefaultProcCont
}{
\@
gobble
}
\DeclareOption
{
procnames
}{
\renewcommand
{
\DefaultProc
}
[1]
{
\renewcommand
{
\Procname
}{
#1
}
%
\global\setbox\procbox
=
\hbox
{
\PNsize
#1
}}
\renewcommand
{
\DefaultProcCont
}
[1]
{
\renewcommand\Procname
{
#1
}
\global\setbox\procbox
=
\hbox
{
\PNsize\dots
#1
}}}
\newbox\procbox
\newcommand
{
\Procname
}{}
\newif\ifLGnoprocindex
\DeclareOption
{
noprocindex
}{
\LGnoprocindextrue
}
\ProcessOptions
\def\BGfont
{
\sffamily
}
\def\CMfont
{
\rmfamily\itshape
}
\def\NOfont
{
\sffamily
}
\def\KWfont
{
\rmfamily\bfseries
}
\def\STfont
{
\ttfamily
}
\def\TTfont
{
\ttfamily\upshape
}
\def\VRfont
{
\rmfamily
}
\def\PNsize
{
\BGfont\small
}
\def\LGsize
{
\small
}
\def\LGfsize
{
\footnotesize
}
\newif\ifLGinline
\newif\ifLGd
@fault
\def\LGbegin
{
\ifLGinline
$
\hbox\else
$$
\vbox\fi\bgroup\LGd
@faulttrue
}
\def\LGend
{
\ifLGd
@fault
\egroup\ifLGinline
$
\else
$$
\fi\LGd
@faultfalse
\fi
}
%%stopzone % VIM syncing
\newif\ifc
@mment
\newif\ifstr
@ng
\newif\ifright
@
\newbox\ls
@far
\newbox\tb
@x
\newdimen\TBw
@d
\newdimen\@
ts
{
\catcode
`
\_
=
\active
\gdef\@
setunder
{
\let
_
=
\sp
@ce
}}
\newcommand
{
\lgrindhead
}{}
\newcommand
{
\lgrindfilename
}{}
\newcommand
{
\lgrindfilesize
}{}
\newcommand
{
\lgrindmodyear
}{}
\newcommand
{
\lgrindmodmonth
}{}
\newcommand
{
\lgrindmodday
}{}
\newcommand
{
\lgrindmodtime
}{}
\newenvironment
{
lgrind
}
[
1
][
1
]
{
%
\def\Line
##
1
{
\L
{
\LB
{
##
1
}}}
%
\newcommand
{
\Head
}
[
1
]
{
\gdef\lgrindhead
{
##
1
}}
%
\newcommand
{
\File
}
[
6
]
{
\gdef\lgrindfilename
{
##
1
}
\message
{
(
LGround: ##
1
)
}
%
\gdef\lgrindmodyear
{
##
2
}
\gdef\lgrindmodmonth
{
##
3
}
%
\gdef\lgrindmodday
{
##
4
}
\gdef\lgrindmodtime
{
##
5
}
%
\gdef\lgrindfilesize
{
##
6
}}
%
\let\Proc
=
\DefaultProc
%
\let\ProcCont
=
\DefaultProcCont
%
\ifLGnoprocindex
%
\let\index\@
gobble
%
\fi
%
\hfuzz
=
\LGsloppy
%
\def\NewPage
{
\filbreak\bigskip
}
%
\ifLGinline
%
\def\L
##
1
{
\setbox\ls
@far
\null
{
\CF\strut
##
1
}
\ignorespaces
}
%
\else
%
\let\r
@ghtlno
\relax\let\l
@ftlno
\relax
%
\ifnum\LGnuminterval
>
\z
@
%
\ifLGleftnum
%
\def\l
@ftlno
{
\ifnum\lc
@unt>
\ln
@xt
%
\global\advance\ln
@xt by
\LGnuminterval
%
\llap
{{
\normalfont\scriptsize\the\lc
@unt
\quad
}}
\fi
}
%
\def\r
@ghtlno
{
\rlap
{
\enspace\box\procbox
}}
%
\else
%
\def\r
@ghtlno
{
\ifnum\lc
@unt>
\ln
@xt
%
\global\advance\ln
@xt by
\LGnuminterval
%
\rlap
{{
\normalfont\scriptsize\enspace\the\lc
@unt
%
\enspace\box\procbox
}}
%
\else\rlap
{
\enspace\box\procbox
}
\fi
}
%
\fi
%
\fi
%
\def\L
##
1
{
\@
@par
\setbox\ls
@far
=
\null\strut
%
\global\advance\lc
@unt by
1
%
\hbox
to
\linewidth
{
\hskip\LGindent\l
@ftlno ##
1
\egroup
%
\hfil\r
@ghtlno
}
%
\ignorespaces
}
%
\fi
%
\lc
@unt
=
#
1
\advance\lc
@unt by
-
1
%
\ln
@xt
=
\LGnuminterval\advance\ln
@xt by
-
1
%
\loop\ifnum\lc
@unt>
\ln
@xt
\advance\ln
@xt by
\LGnuminterval\repeat
%
\def\LB
{
\hbox\bgroup\bgroup\box\ls
@far
\CF\let\next
=
}
%
\def\Tab
##
1
{
\egroup\setbox\tb
@x
=
\lastbox\TBw
@d
=
\wd\tb
@x
%
\advance\TBw
@d by
1
\@
ts
\ifdim\TBw
@d>##
1
\@
ts
%
\setbox\ls
@far
=
\hbox
{
\box\ls
@far
\box\tb
@x
\sp
@ce
}
\else
%
\setbox\ls
@far
=
\hbox
to ##
1
\@
ts
{
\box\ls
@far
\box\tb
@x
\hfil
}
\fi\LB
}
%
\ifLGinline\def\sp
@ce
{{
\hskip
.
3333
em
}}
%
\else
\setbox\tb
@x
=
\hbox
{
\texttt
{
0
}}
%
\@
ts
=
0
.
8
\wd\tb
@x
\def\sp
@ce
{{
\hskip
1
\@
ts
}}
\fi
%
\catcode
`
\_
=
\active
\@
setunder
%
\def\CF
{
\ifc
@mment
\CMfont\else\ifstr
@ng
\STfont\fi\fi
}
%
\def\N
##
1
{{
\NOfont
##
1
}
\global\futurelet\next\ic
@r
}
%
\def\K
##
1
{{
\KWfont
##
1
}
\global\futurelet\next\ic
@r
}
%
\def\V
##
1
{{
\VRfont
##
1
}
\global\futurelet\next\ic
@r
}
%
\def\ic
@r
{
\let\@
tempa
\/\ifx
.
\next\let\@
tempa
\relax
%
\else\ifx
,
\next\let\@
tempa
\relax\fi\fi\@
tempa
}
%
\def\C
{
\egroup\bgroup\CMfont
\global\c
@mmenttrue
\global\right
@false
}
%
\def\CE
{
\egroup\bgroup
\global\c
@mmentfalse
}
%
\def\S
{
\egroup\bgroup\STfont
\global\str
@ngtrue
}
%
\def\SE
{
\egroup\bgroup
\global\str
@ngfalse
}
%
\def\,
{
\relax
\ifmmode\mskip\thinmuskip
\else\thinspace
\fi
}
%
\def\!
{
\relax
\ifmmode\mskip
-
\thinmuskip
\else\negthinspace
\fi
}
%
%%stopzone % VIM syncing
\def\CH
##
1
##
2
##
3
{
\relax\ifmmode
##
1
\relax
%
\else\ifstr
@ng ##
2
\relax\else
$##
3
$
\fi\fi
}
%
\def\|
{
\CH
|||
}
% not necessary for T1
\def\<
{
\CH
<<<
}
% dto.
\def\>
{
\CH
>>>
}
% dto.
\def\-
{
\CH
---
}
% minus sign nicer than hyphen
\def\_
{
\ifstr
@ng
{
\char
'
137
}
\else
%
\leavevmode
\kern
.
06
em
\vbox
{
\hrule
width.
35
em
}
%
\ifdim\fontdimen\@
ne
\font
=
\z
@
\kern
.
06
em
\fi\fi
}
%
\def\#
{{
\STfont\char
'
043
}}
%
\def\2
{
\CH\backslash
{
\char
'
134
}
\backslash
}
% % \
\def\3
{
\ifc
@mment
\ifright
@ ''
\global\right
@false
%
\else
``
\global\right
@true
\fi
%
\else
{
\texttt
{
\char
'
042
}}
\fi
}
% % "
\def\5
{{
\texttt
{
\char
'
136
}}}
% % ^
\parindent\z
@
\parskip\z
@ plus
1
pt
%
\bgroup\BGfont
%
}
{
\egroup\@
@par
\newpage
}
% end of environment lgrind
\def\lgrinde
{
\ifLGinline\else\LGsize\fi\begin
{
lgrind
}}
\def\endlgrinde
{
\end
{
lgrind
}}
\def\lagrind
{
\@
ifstar
{
\@
slagrind
}{
\@
lagrind
}}
\def\@
lagrind
{
\@
ifnextchar
[
{
\@
@lagrind
}{
\@
@lagrind
[
t
]
}}
\def\@
slagrind
{
\@
ifnextchar
[
{
\@
@slagrind
}{
\@
@slagrind
[
t
]
}}
\def\@
@lagrind
[
#
1
]
#
2
#
3
#
4
{
%
\begin
{
figure
}
[
#
1
]
\ifLGnorules\else\hrule\fi
\vskip
.
5
\baselineskip
\begin
{
minipage
}
\columnwidth\LGsize\LGindent\z
@
\begin
{
lgrind
}
\input
#
2
\relax
\end
{
lgrind
}
\end
{
minipage
}
\vskip
.
5
\baselineskip
plus .
5
\baselineskip
\ifLGnorules\else\hrule\fi\vskip
.
5
\baselineskip
\begingroup
\setbox\z
@
=
\hbox
{
#
4
}
%
\ifdim\wd\z
@>
\z
@
\caption
{
#
3
}
%
\label
{
#
4
}
%
\else
\captcont
{
#
3
}
%
\fi
\endgroup
\vskip
2
pt
\end
{
figure
}
}
\def\@
@slagrind
[
#
1
]
#
2
#
3
#
4
{
%
\begin
{
figure
*
}
[
#
1
]
\ifLGnorules\else\hrule\fi
\vskip
.
5
\baselineskip
\begin
{
minipage
}
\linewidth\LGsize\LGindent\z
@
\begin
{
lgrind
}
\input
#
2
\relax
\end
{
lgrind
}
\end
{
minipage
}
\vskip
.
5
\baselineskip
plus .
5
\baselineskip
\ifLGnorules\else\hrule\fi\vskip
.
5
\baselineskip
\begingroup
\setbox\z
@
=
\hbox
{
#
4
}
%
\ifdim\wd\z
@>
\z
@
\caption
{
#
3
}
%
\label
{
#
4
}
%
\else
\captcont
{
#
3
}
%
\fi
\endgroup
\vskip
2
pt
\end
{
figure
*
}
}
\def\lgrindfile
#
1
{
%
\par\addvspace
{
0
.
1
in
}
\ifLGnorules\else\hrule\fi
\vskip
.
5
\baselineskip
\begingroup\LGfsize\LGindent\z
@
\begin
{
lgrind
}
\input
#
1
\relax
\end
{
lgrind
}
\endgroup
\vskip
.
5
\baselineskip
\ifLGnorules\else\hrule\vspace
{
0
.
1
in
}
\fi
}
\endinput
%%
%% End of file `lgrind.sty'.
lgrindef
deleted
100644 → 0
浏览文件 @
f3fc72c5
差异被折叠。
点击展开。
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论