TeX in C
Explore TeX with modern c compiler.
|
[ #813. 更多...
宏定义 | |
#define | tightfit 3 |
#define | loosefit 1 |
#define | veryloosefit 0 |
#define | decentfit 2 |
#define | activenodesize 3 |
#define | unhyphenated 0 |
#define | hyphenated 1 |
#define | lastactive active |
#define | passivenodesize 2 |
#define | deltanodesize 7 |
#define | deltanode 2 |
#define | deactivate 60 |
#define | fitness subtype /* |veryloosefit..tightfit| on final line for this break}*/ |
[p304#819] 更多... | |
#define | breaknode rlink /* pointer to the corresponding passive node}*/ |
#define | linenumber llink /* line that begins at this breakpoint}*/ |
#define | totaldemerits(x) mem[x+2].int_ /* the quantity that \TeX\ minimizes}*/ |
#define | curbreak rlink /* in passive node, points to position of this breakpoint}*/ |
[p304#821] 更多... | |
#define | prevbreak llink /* points to passive node that should precede this one}*/ |
#define | serial info /* serial number for symbolic identification}*/ |
#define | checkshrinkage(x) ((shrinkorder(x) != NORMAL) && (shrink(x) != 0) ? (x) = finiteshrink(x) : 0) |
[p306#825] 更多... | |
#define | copytocuractive(x) (curactivewidth[(x)-1] = activewidth[(x)-1]) |
[p308#829] 更多... | |
#define | updatewidth(x) (curactivewidth[(x)-1] += mem[r + (x)].sc) |
[p309#832] 更多... | |
#define | awfulbad 1073741823L |
[#833] 更多... | |
#define | setbreakwidthtobackground(x) (breakwidth[(x)-1] = background[(x)-1]) |
[p310#837] 更多... | |
#define | converttobreakwidth(x) (mem[prevr + (x)].sc += -curactivewidth[(x)-1] + breakwidth[(x)-1]) |
[p312#843] 更多... | |
#define | storebreakwidth(x) (activewidth[(x)-1] = breakwidth[(x)-1]) |
#define | newdeltatobreakwidth(x) (mem[q + (x)].sc = breakwidth[(x)-1] - curactivewidth[(x)-1]) |
#define | newdeltafrombreakwidth(x) (mem[q + (x)].sc = curactivewidth[(x)-1] - breakwidth[(x)-1]) |
[p312#944] 更多... | |
#define | combinetwodeltas(x) (mem[prevr + (x)].sc = mem[prevr + (x)].sc + mem[r + (x)].sc) |
[p318#860] 更多... | |
#define | downdatewidth(x) (curactivewidth[(x)-1] -= mem[prevr + (x)].sc) |
#define | updateactive(x) (activewidth[(x)-1] += mem[r + (x)].sc) |
[p318#861] 更多... | |
函数 | |
void | linebreak (long finalwidowpenalty) |
HalfWord | finiteshrink (HalfWord p) |
void | trybreak (long pi, SmallNumber breaktype) |
p308#829 更多... | |
[ #813.
Breaking paragraphs into lines. ]
#define activenodesize 3 |
#define awfulbad 1073741823L |
[#833]
#define checkshrinkage | ( | x | ) | ((shrinkorder(x) != NORMAL) && (shrink(x) != 0) ? (x) = finiteshrink(x) : 0) |
[p306#825]
[p318#860]
#define converttobreakwidth | ( | x | ) | (mem[prevr + (x)].sc += -curactivewidth[(x)-1] + breakwidth[(x)-1]) |
[p312#843]
#define copytocuractive | ( | x | ) | (curactivewidth[(x)-1] = activewidth[(x)-1]) |
[p308#829]
#define deactivate 60 |
#define decentfit 2 |
#define deltanode 2 |
#define deltanodesize 7 |
#define downdatewidth | ( | x | ) | (curactivewidth[(x)-1] -= mem[prevr + (x)].sc) |
#define fitness subtype /* |veryloosefit..tightfit| on final line for this break}*/ |
[p304#819]
#define hyphenated 1 |
#define loosefit 1 |
#define newdeltafrombreakwidth | ( | x | ) | (mem[q + (x)].sc = curactivewidth[(x)-1] - breakwidth[(x)-1]) |
[p312#944]
#define newdeltatobreakwidth | ( | x | ) | (mem[q + (x)].sc = breakwidth[(x)-1] - curactivewidth[(x)-1]) |
#define passivenodesize 2 |
#define setbreakwidthtobackground | ( | x | ) | (breakwidth[(x)-1] = background[(x)-1]) |
[p310#837]
#define storebreakwidth | ( | x | ) | (activewidth[(x)-1] = breakwidth[(x)-1]) |
#define tightfit 3 |
#define unhyphenated 0 |
#define updateactive | ( | x | ) | (activewidth[(x)-1] += mem[r + (x)].sc) |
[p318#861]
#define updatewidth | ( | x | ) | (curactivewidth[(x)-1] += mem[r + (x)].sc) |
[p309#832]
#define veryloosefit 0 |
void linebreak | ( | long | finalwidowpenalty | ) |
void trybreak | ( | long | pi, |
SmallNumber | breaktype | ||
) |
p308#829
p313#845: Insert a new active node from best place[fit class] to cur p
p317#858: Update the value of printed node for symbolic displays
Scaled activewidth[6] |
Scaled background[6] |
Pointer bestplace[tightfit - veryloosefit+1] |
HalfWord bestplline[tightfit - veryloosefit+1] |
Scaled breakwidth[6] |
Scaled curactivewidth[6] |
Pointer curp |
Scaled discwidth |
HalfWord easyline |
Boolean finalpass |
Scaled firstindent |
Scaled firstwidth |
Pointer justbox |
HalfWord lastspecialline |
Integer minimaldemerits[tightfit - veryloosefit+1] |
Integer minimumdemerits |
Boolean noshrinkerroryet |
Pointer passive |
HalfWord passnumber |
Pointer printednode |
Scaled secondindent |
Boolean secondpass |
Scaled secondwidth |
Integer threshold |