TeX in C
Explore TeX with modern c compiler.
PART 37: Alignment

[ #768. 更多...

宏定义

#define upart(x)   mem[x + heightoffset].int_
 [p286#769] pointer to <uj> token list. 更多...
 
#define vpart(x)   mem[x + depthoffset].int_
 [p286#769] pointer to <vj> token list. 更多...
 
#define extrainfo(x)   info(x + listoffset)
 [p286#769] info to remember during template. 更多...
 
#define preamble   link(alignhead)
 [p287#770] the current preamble list. 更多...
 
#define alignstacknodesize   5
 
#define spancode   256
 
#define crcode   257
 
#define crcrcode   (crcode + 1)
 
#define endtemplatetoken   (CS_TOKEN_FLAG + FROZEN_END_TEMPLATE)
 
#define spannodesize   2
 

函数

void align_init ()
 [#771] 更多...
 
long tex_round (double d)
 
void pushalignment (void)
 
void popalignment (void)
 
void getpreambletoken (void)
 
void initalign (void)
 [#774] When \halign or \valign has been scanned, get everything off to a good start. 更多...
 
void initspan (HalfWord p)
 
void initrow (void)
 
void initcol (void)
 
Boolean fincol (void)
 [#791] 更多...
 
void finrow (void)
 
void finalign (void)
 
void alignpeek (void)
 

变量

Pointer curalign
 [#770] current position in preamble list. 更多...
 
Pointer curspan
 [#770] start of currently spanned columns in preamble list. 更多...
 
Pointer curloop
 [#770] place to copy when extending a periodic preamble. 更多...
 
Pointer alignptr
 [#770] most recently pushed-down alignment stack node. 更多...
 
Pointer curhead
 [#770] adjustment list pointers. 更多...
 
Pointer curtail
 

详细描述

[ #768.

Alignment. ]

宏定义说明

◆ alignstacknodesize

#define alignstacknodesize   5

◆ crcode

#define crcode   257

◆ crcrcode

#define crcrcode   (crcode + 1)

◆ endtemplatetoken

#define endtemplatetoken   (CS_TOKEN_FLAG + FROZEN_END_TEMPLATE)

◆ extrainfo

#define extrainfo (   x)    info(x + listoffset)

[p286#769] info to remember during template.

◆ preamble

#define preamble   link(alignhead)

[p287#770] the current preamble list.

◆ spancode

#define spancode   256

◆ spannodesize

#define spannodesize   2

◆ upart

#define upart (   x)    mem[x + heightoffset].int_

[p286#769] pointer to <uj> token list.

◆ vpart

#define vpart (   x)    mem[x + depthoffset].int_

[p286#769] pointer to <vj> token list.

函数说明

◆ align_init()

void align_init ( )

[#771]

◆ alignpeek()

void alignpeek ( void  )

◆ finalign()

void finalign ( void  )

◆ fincol()

Boolean fincol ( void  )

[#791]

< the alignrecord after the current one.

< temporary pointers for list manipulation

< a new span node

< a new unset box

< natural width

< order of infinity

< span counter

[#792] If the preamble list has been traversed, check that the row has ended.

[#793] Lengthen the preamble periodically

[#794] Copy the templates from node cur loop into node p

end [#794]

end [#793]

[#796] Package an unset box for the current column and record its width

[#798] Update width entry for spanned columns.

[#659] Determine the stretch order.

[#655] Determine the shrink order.

end [#796]

[#795] Copy the tabskip glue between columns.

◆ finrow()

void finrow ( void  )

◆ getpreambletoken()

void getpreambletoken ( void  )

◆ initalign()

void initalign ( void  )

[#774] When \halign or \valign has been scanned, get everything off to a good start.

This mostly involves scanning the preamble and putting its information into the preamble list.

< warning_index value for error messages.

< for short-term temporary use.

[#779] Scan preamble text until cur cmd is tab mark or car ret, looking for changes in the tabskip glue; append an alignrecord to the preamble list.

[#783] Scan the template ⟨ u_j ⟩, putting the resulting token list in hold head.

end [#783]

[#784] Scan the template ⟨ v_j ⟩, putting the resulting token list in hold_head

end [#784]

3nd [#779]

◆ initcol()

void initcol ( void  )

◆ initrow()

void initrow ( void  )

◆ initspan()

void initspan ( HalfWord  p)

◆ popalignment()

void popalignment ( void  )

◆ pushalignment()

void pushalignment ( void  )

◆ tex_round()

long tex_round ( double  d)

变量说明

◆ alignptr

Pointer alignptr

[#770] most recently pushed-down alignment stack node.

◆ curalign

Pointer curalign

[#770] current position in preamble list.

◆ curhead

Pointer curhead

[#770] adjustment list pointers.

◆ curloop

Pointer curloop

[#770] place to copy when extending a periodic preamble.

◆ curspan

Pointer curspan

[#770] start of currently spanned columns in preamble list.

◆ curtail

Pointer curtail