TeX in C
Explore TeX with modern c compiler.
PART 46: The chief executive

宏定义

#define adjustspacefactor()
 [p386#1034] 更多...
 
#define packlig(x)
 [p387#1035] the PARAMETER is either |rthit| or |false| 更多...
 
#define wrapup(x)
 [p387#1035] 更多...
 

函数

void main_ctrl_init ()
 [#1033] 更多...
 
void main_control (void)
 
Static void appspace (void)
 
Static void insertdollarsign (void)
 
void youcant (void)
 
void reportillegalcase (void)
 
Static Boolean privileged (void)
 
Static Boolean itsallover (void)
 

变量

InternalFontNumber mainf
 
FourQuarters maini
 
FourQuarters mainj
 
FontIndex maink
 
Pointer mainp
 
Integer mains
 
HalfWord falsebchar
 
Boolean cancelboundary
 
Boolean insdisc
 

详细描述

宏定义说明

◆ adjustspacefactor

#define adjustspacefactor ( )
值:
{ \
mains = sf_code(curchr); \
if (mains == 1000) { \
spacefactor = 1000; \
} else if (mains < 1000) { \
if (mains > 0) { \
spacefactor = mains; \
} \
} else if (spacefactor < 1000) { \
spacefactor = 1000; \
} else \
spacefactor = mains; \
}
Integer mains
Definition: main_ctrl.c:33
#define spacefactor
[#213] part of |aux| in horizontal mode
Definition: lexer.h:66
#define sf_code(x)
Definition: eqtb.h:232
HalfWord curchr
[#297]: operand of current command a character code or other modifier of the command code.
Definition: lexer.c:43

[p386#1034]

◆ packlig

#define packlig (   x)
值:
{ \
mainp = new_ligature(mainf, curl, link(curq)); \
if (lfthit) { \
subtype(mainp) = 2; \
lfthit = false; \
} \
if ((x) && (ligstack == null)) { \
subtype(mainp)++; \
rthit = false; \
} \
link(curq) = mainp; \
tail = mainp; \
ligaturepresent = false; \
}
Pointer mainp
Definition: main_ctrl.c:32
InternalFontNumber mainf
Definition: main_ctrl.c:29
#define link(x)
[p45#118] the link field of a memory word.
Definition: mem.h:16
Pointer new_ligature(QuarterWord f, QuarterWord c, Pointer q)
[#144] creates a ligature node having given contents of the font, character, and lig_ptr fields.
Definition: box.c:55
Pointer curq
Definition: linebreak.c:1084
Pointer ligstack
Definition: linebreak.c:1084
HalfWord curl
Definition: hyphen_post.c:17
Boolean lfthit
Definition: hyphen.h:140

[p387#1035] the PARAMETER is either |rthit| or |false|

◆ wrapup

#define wrapup (   x)
值:
if (curl < NON_CHAR) { \
if (link(curq) > 0) insdisc = true; \
} \
if (ligaturepresent) { \
packlig(x); \
} \
if (insdisc) { \
insdisc = false; \
if (mode > 0) { \
tailappend(new_disc()); \
} \
} \
}
Boolean insdisc
Definition: main_ctrl.c:35
#define character(x)
[50#134] -> QuarterWord; the character code in a charnode.
Definition: box.h:35
Pointer new_disc(void)
[#145] creates an empty disc node.
Definition: box.c:85
#define tail
[#213] final node on current list
Definition: lexer.h:58
#define mode
[#213] current mode
Definition: lexer.h:54
Integer get_hyphenchar(InternalFontNumber x)
Definition: fonts.c:75
#define NON_CHAR
[#549] a |halfword| code that can't match a real character}
Definition: fonts.h:66
Boolean ligaturepresent
Definition: hyphen_post.c:18

[p387#1035]

函数说明

◆ appspace()

void appspace ( void  )

◆ insertdollarsign()

void insertdollarsign ( void  )

◆ itsallover()

Boolean itsallover ( void  )

◆ main_control()

void main_control ( void  )

[#1030] 均从上方跳入

[#1030]

◆ main_ctrl_init()

void main_ctrl_init ( )

[#1033]

◆ privileged()

Boolean privileged ( void  )

◆ reportillegalcase()

void reportillegalcase ( void  )

◆ youcant()

void youcant ( void  )

变量说明

◆ cancelboundary

Boolean cancelboundary

◆ falsebchar

HalfWord falsebchar

◆ insdisc

Boolean insdisc

◆ mainf

◆ maini

FourQuarters maini

◆ mainj

FourQuarters mainj

◆ maink

FontIndex maink

◆ mainp

Pointer mainp

◆ mains

Integer mains