File: fwebinsert.sty

package info (click to toggle)
fweb 1.60beta-11
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 4,348 kB
  • ctags: 5,018
  • sloc: ansic: 38,347; makefile: 393; sh: 163
file content (58 lines) | stat: -rw-r--r-- 1,625 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
% This file is a LaTeX2e package.  One may select it in a LaTeX document by
% the command 
%
%	\usepackage{fwebinsert}
%

% The package sets things up so that one can include TeX output from FWEAVE
% into a LaTeX document.  

% J. A. Krommes, April 12, 1996

\NeedsTeXFormat{LaTeX2e}

\ProvidesPackage{fwebinsert}[1996/04/12]

\DeclareOption{FWEBstandalone}{\input{fwebmac.sty}\FWEBstandalonetrue}
\DeclareOption{FWEBinsert}{\input{fwebmac.sty}\FWEBstandalonefalse}

\ExecuteOptions{FWEBinsert} % Set up default.
\ProcessOptions

\makeatletter

% The optional argument to \fwebinput is zero or more letters from the list
% 0,1,2,3 (fweb levels), h (headers),  or c (table of contents).
\newcommand\fwebinput[2][]{\W@read{#1}{#2}}
\global\let\FWEBinput\fwebinput

\gdef\W@read#1#2{\begingroup% The entire file will be within a group.
	\toks0={#1}%
	\ifW@intoks{\toks0}0{\fweblevel{0}}{}%
	\ifW@intoks{\toks0}1{\fweblevel{1}}{}%
	\ifW@intoks{\toks0}2{\fweblevel{2}}{}%
	\ifW@intoks{\toks0}3{\fweblevel{3}}{}%
	\ifW@intoks{\toks0}h{\W@headerstrue}{\W@headersfalse}%
	\ifW@intoks{\toks0}c{}{\def\Wcon##1{}}%
	\def\jobname{#2}% For reading the aux file in \Wbegin.
	\input{#2.tex}% Read the TeX'd output from fweave.
	\endgroup
	}

\gdef\fweblevel#1{\def\W@ssmin{#1}}

\newif\ifW@inlist

\gdef\ifW@intoks#1#2#3#4{\let\W@tsttoken#2%
\expandafter\W@listcheck\the#1\relax
\ifW@inlist#3\else#4\fi}

\gdef\W@listcheck#1\relax{\W@inlistfalse
\def\test{#1}\ifx\test\empty
\else\W@tokscheck#1\relax\fi}

\gdef\W@tokscheck#1#2\relax{\if\W@tsttoken#1\W@inlisttrue\let\next\relax
\else\def\next{\W@listcheck#2\relax}\fi
\next}

\makeatother