w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

texnodes.h File Reference
#include <stdarg.h>
Include dependency graph for texnodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _subtype_info
 
struct  _field_info
 
struct  _node_info
 

Macros

#define varmemcast(a)   (memory_word *)(a)
 
#define max_halfword   0x3FFFFFFF
 
#define max_dimen   0x3FFFFFFF
 
#define null   0
 
#define null_flag   -0x40000000
 
#define zero_glue   0
 
#define normal   0
 
#define vinfo(a)   varmem[(a)].hh.v.LH
 
#define vlink(a)   varmem[(a)].hh.v.RH
 
#define type(a)   varmem[(a)].hh.u.B0
 
#define subtype(a)   varmem[(a)].hh.u.B1
 
#define node_attr(a)   vinfo((a)+1)
 
#define alink(a)   vlink((a)+1)
 
#define node_size(a)   varmem[(a)].hh.v.LH
 
#define rlink(a)   vlink((a)+1) /* aka alink() */
 
#define tlink(a)   vinfo((a)+1) /* overlaps with node_attr() */
 
#define temp_node_size   2
 
#define UNUSED_ATTRIBUTE   -0x7FFFFFFF /* as low as it goes */
 
#define attribute_node_size   2
 
#define cache_disabled   max_halfword
 
#define attr_list_ref(a)   vinfo((a)+1) /* the reference count */
 
#define attribute_id(a)   vinfo((a)+1)
 
#define attribute_value(a)   vlink((a)+1)
 
#define assign_attribute_ref(n, p)
 
#define add_node_attr_ref(a)
 
#define replace_attribute_list(a, b)
 
#define width_offset   2
 
#define depth_offset   3
 
#define height_offset   4
 
#define list_offset   6
 
#define inf_bad   10000 /* infinitely bad value */
 
#define inf_penalty   inf_bad /* ``infinite'' penalty value */
 
#define eject_penalty   -(inf_penalty) /* ``negatively infinite'' penalty value */
 
#define penalty_node_size   3
 
#define penalty(a)   vlink((a)+2)
 
#define glue_node_size   7
 
#define glue_spec_size   5
 
#define shrink(a)   vinfo((a)+3)
 
#define stretch(a)   vlink((a)+3)
 
#define stretch_order(a)   vinfo((a)+4)
 
#define shrink_order(a)   vlink((a)+4)
 
#define leader_ptr(a)   vlink((a)+5) /* should be in vlink((a)+2) but fails */
 
#define synctex_tag_glue(a)   vinfo((a)+6)
 
#define synctex_line_glue(a)   vlink((a)+6)
 
#define glue_is_zero(p)    ((p == null) || (width(p) == 0 && stretch(p) == 0 && shrink(p) == 0))
 
#define glue_is_positive(p)    ((p == null) || (width(p) > 0))
 
#define reset_glue_to_zero(p)
 
#define copy_glue_values(p, q)
 
#define disc_node_size   11
 
#define pre_break_head(a)   ((a)+5)
 
#define post_break_head(a)   ((a)+7)
 
#define no_break_head(a)   ((a)+9)
 
#define disc_penalty(a)   vlink((a)+2)
 
#define pre_break(a)   vinfo((a)+3)
 
#define post_break(a)   vlink((a)+3)
 
#define no_break(a)   vlink((a)+4) /* we have vinfo((a)+4) for later usage */
 
#define vlink_pre_break(a)   vlink(pre_break_head(a))
 
#define vlink_post_break(a)   vlink(post_break_head(a))
 
#define vlink_no_break(a)   vlink(no_break_head(a))
 
#define tlink_pre_break(a)   tlink(pre_break_head(a))
 
#define tlink_post_break(a)   tlink(post_break_head(a))
 
#define tlink_no_break(a)   tlink(no_break_head(a))
 
#define kern_node_size   5
 
#define ex_kern(a)   vinfo((a)+3) /* expansion factor (hz) */
 
#define synctex_tag_kern(a)   vinfo((a)+4)
 
#define synctex_line_kern(a)   vlink((a)+4)
 
#define box_node_size   9
 
#define width(a)   varmem[(a)+2].cint
 
#define depth(a)   varmem[(a)+3].cint
 
#define height(a)   varmem[(a)+4].cint
 
#define shift_amount(a)   vlink((a)+5)
 
#define box_dir(a)   vinfo((a)+5)
 
#define list_ptr(a)   vlink((a)+6)
 
#define glue_order(a)   subtype((a)+6)
 
#define glue_sign(a)   type((a)+6)
 
#define glue_set(a)   varmem[(a)+7].gr
 
#define synctex_tag_box(a)   vinfo((a)+8)
 
#define synctex_line_box(a)   vlink((a)+8)
 
#define glue_stretch(a)   varmem[(a)+7].cint
 
#define glue_shrink   shift_amount
 
#define span_count   subtype
 
#define rule_node_size   9
 
#define rule_dir(a)   vlink((a)+5)
 
#define rule_index(a)   vinfo((a)+6)
 
#define rule_transform(a)   vlink((a)+6)
 
#define rule_left(a)   vinfo((a)+7)
 
#define rule_right(a)   vlink((a)+7)
 
#define synctex_tag_rule(a)   vinfo((a)+8)
 
#define synctex_line_rule(a)   vlink((a)+8)
 
#define rule_math_size   rule_index
 
#define rule_math_font   rule_transform
 
#define mark_node_size   3
 
#define mark_ptr(a)   vlink((a)+2)
 
#define mark_class(a)   vinfo((a)+2)
 
#define adjust_node_size   3
 
#define adjust_pre   subtype
 
#define adjust_ptr(a)   vlink(a+2)
 
#define glyph_node_size   7
 
#define character(a)   vinfo((a)+2)
 
#define font(a)   vlink((a)+2)
 
#define lang_data(a)   vinfo((a)+3)
 
#define lig_ptr(a)   vlink((a)+3)
 
#define x_displace(a)   vinfo((a)+4)
 
#define y_displace(a)   vlink((a)+4)
 
#define ex_glyph(a)   vinfo((a)+5) /* expansion factor (hz) */
 
#define glyph_node_data(a)   vlink((a)+5)
 
#define synctex_tag_glyph(a)   vinfo((a)+6)
 
#define synctex_line_glyph(a)   vlink((a)+6)
 
#define is_char_node(a)   (a!=null && type(a)==glyph_node)
 
#define char_lang(a)   ((const int)(signed short)(((signed int)((unsigned)lang_data(a)&0x7FFF0000)<<1)>>17))
 
#define char_lhmin(a)   ((const int)(((unsigned)lang_data(a) & 0x0000FF00)>>8))
 
#define char_rhmin(a)   ((const int)(((unsigned)lang_data(a) & 0x000000FF)))
 
#define char_uchyph(a)   ((const int)(((unsigned)lang_data(a) & 0x80000000)>>31))
 
#define make_lang_data(a, b, c, d)
 
#define init_lang_data(a)   lang_data(a)=256+1
 
#define set_char_lang(a, b)   lang_data(a)=make_lang_data(char_uchyph(a),b,char_lhmin(a),char_rhmin(a))
 
#define set_char_lhmin(a, b)   lang_data(a)=make_lang_data(char_uchyph(a),char_lang(a),b,char_rhmin(a))
 
#define set_char_rhmin(a, b)   lang_data(a)=make_lang_data(char_uchyph(a),char_lang(a),char_lhmin(a),b)
 
#define set_char_uchyph(a, b)   lang_data(a)=make_lang_data(b,char_lang(a),char_lhmin(a),char_rhmin(a))
 
#define margin_kern_node_size   4
 
#define margin_char(a)   vlink((a)+3)
 
#define math_node_size   7
 
#define surround(a)   vinfo((a)+5)
 
#define synctex_tag_math(a)   vinfo((a)+6)
 
#define synctex_line_math(a)   vlink((a)+6)
 
#define ins_node_size   6
 
#define float_cost(a)   varmem[(a)+2].cint
 
#define ins_ptr(a)   vinfo((a)+5)
 
#define split_top_ptr(a)   vlink((a)+5)
 
#define page_ins_node_size   5
 
#define last_preceding_break_node   whatsit_node
 
#define last_non_discardable_node   dir_node
 
#define MAX_NODE_TYPE   shape_node /* 60 */
 
#define precedes_break(a)   (type(a)<=last_preceding_break_node)
 
#define precedes_kern(a)   ((type(a) == kern_node) && (subtype(a) == font_kern || subtype(a) == accent_kern))
 
#define precedes_dir(a)   ((type(a) == dir_node) && (break_after_dir_mode_par == 1))
 
#define non_discardable(a)   (type(a)<=last_non_discardable_node)
 
#define known_node_type(i)   ( i >= 0 && i <= MAX_NODE_TYPE)
 
#define last_known_node   temp_node /* used by \lastnodetype */
 
#define movement_node_size   3
 
#define if_node_size   2
 
#define align_stack_node_size   6
 
#define nesting_node_size   2
 
#define expr_node_size   3
 
#define expr_type(A)   type((A)+1)
 
#define expr_state(A)   subtype((A)+1) /* enum defined in scanning.w */
 
#define expr_e_field(A)   vlink((A)+1) /* saved expression so far */
 
#define expr_t_field(A)   vlink((A)+2) /* saved term so far */
 
#define expr_n_field(A)   vinfo((A)+2) /* saved numerator */
 
#define span_node_size   3
 
#define span_span(a)   vlink((a)+1)
 
#define span_link(a)   vinfo((a)+1)
 
#define pseudo_file_node_size   2
 
#define pseudo_lines(a)   vlink((a)+1)
 
#define nodetype_has_attributes(t)   (((t)<=glyph_node) && ((t)!=unset_node))
 
#define nodetype_has_subtype(t)   ((t)!=attribute_list_node && (t)!=attribute_node && (t)!=glue_spec_node)
 
#define nodetype_has_prev(t)   nodetype_has_subtype((t))
 
#define style_node_size   4
 
#define display_mlist(a)   vinfo((a)+2) /* mlist to be used in display style */
 
#define text_mlist(a)   vlink((a)+2) /* mlist to be used in text style */
 
#define script_mlist(a)   vinfo((a)+3) /* mlist to be used in script style */
 
#define script_script_mlist(a)   vlink((a)+3) /* mlist to be used in scriptscript style */
 
#define noad_size   8
 
#define new_hlist(a)   vlink((a)+2) /* the translation of an mlist */
 
#define nucleus(a)   vinfo((a)+2) /* the |nucleus| field of a noad */
 
#define supscr(a)   vlink((a)+3) /* the |supscr| field of a noad */
 
#define subscr(a)   vinfo((a)+3) /* the |subscr| field of a noad */
 
#define noaditalic(a)   vlink((a)+4)
 
#define noadwidth(a)   vinfo((a)+4)
 
#define noadheight(a)   vlink((a)+5)
 
#define noaddepth(a)   vinfo((a)+5)
 
#define noadextra1(a)   vlink((a)+6) /* we need to match delimiter (saves copy) */
 
#define noadoptions(a)   vinfo((a)+6)
 
#define noadextra3(a)   vlink((a)+7) /* see (!) below */
 
#define noadextra4(a)   vinfo((a)+7) /* used to store samesize */
 
#define noad_fam(a)   vlink((a)+6) /* noadextra1 */
 
#define accent_noad_size   8
 
#define top_accent_chr(a)   vinfo((a)+6) /* the |top_accent_chr| field of an accent noad */
 
#define bot_accent_chr(a)   vlink((a)+6) /* the |bot_accent_chr| field of an accent noad */
 
#define overlay_accent_chr(a)   vinfo((a)+7) /* the |overlay_accent_chr| field of an accent noad */
 
#define accentfraction(a)   vlink((a)+7)
 
#define fence_noad_size   8 /* needs to match noad size */
 
#define delimiteritalic(a)   vlink((a)+4)
 
#define delimiterheight(a)   vlink((a)+5)
 
#define delimiterdepth(a)   vinfo((a)+5)
 
#define delimiter(a)   vlink((a)+6) /* |delimiter| field in left and right noads */
 
#define delimiteroptions(a)   vinfo((a)+6)
 
#define delimiterclass(a)   vlink((a)+7) /* (!) we could probably pack some more in 6 */
 
#define delimitersamesize(a)   vinfo((a)+7) /* set by engine */
 
#define delimiteroptionset(a)   ((delimiteroptions(a) & noad_option_set ) == noad_option_set )
 
#define delimiteraxis(a)   ((delimiteroptions(a) & noad_option_axis ) == noad_option_axis )
 
#define delimiternoaxis(a)   ((delimiteroptions(a) & noad_option_no_axis) == noad_option_no_axis)
 
#define delimiterexact(a)   ((delimiteroptions(a) & noad_option_exact ) == noad_option_exact )
 
#define noadoptionnosubscript(a)
 
#define noadoptionnosupscript(a)
 
#define delimitermodenoshift   ((math_delimiters_mode_par & noad_delimiter_mode_noshift) == noad_delimiter_mode_noshift)
 
#define delimitermodeitalics   ((math_delimiters_mode_par & noad_delimiter_mode_italics) == noad_delimiter_mode_italics)
 
#define delimitermodeordinal   ((math_delimiters_mode_par & noad_delimiter_mode_ordinal) == noad_delimiter_mode_ordinal)
 
#define delimitermodesamenos   ((math_delimiters_mode_par & noad_delimiter_mode_samenos) == noad_delimiter_mode_samenos)
 
#define delimitermodecharnos   ((math_delimiters_mode_par & noad_delimiter_mode_charnos) == noad_delimiter_mode_charnos)
 
#define fraction_noad_size   8
 
#define thickness(a)   vlink((a)+2) /* |thickness| field in a fraction noad */
 
#define numerator(a)   vlink((a)+3) /* |numerator| field in a fraction noad */
 
#define denominator(a)   vinfo((a)+3) /* |denominator| field in a fraction noad */
 
#define left_delimiter(a)   vlink((a)+5) /* first delimiter field of a noad */
 
#define right_delimiter(a)   vinfo((a)+5) /* second delimiter field of a fraction noad */
 
#define middle_delimiter(a)   vlink((a)+6)
 
#define fractionoptions(a)   vinfo((a)+6)
 
#define fraction_fam(a)   vlink((a)+7)
 
#define fractionoptionset(a)   ((fractionoptions(a) & noad_option_set ) == noad_option_set )
 
#define fractionexact(a)   ((fractionoptions(a) & noad_option_exact ) == noad_option_exact )
 
#define fractionnoaxis(a)   ((fractionoptions(a) & noad_option_no_axis) == noad_option_no_axis)
 
#define fractionnorule(a)   ((fractionoptions(a) & noad_option_no_rule) == noad_option_no_rule)
 
#define radical_noad_size   7
 
#define radicalwidth(a)   vinfo((a)+4)
 
#define degree(a)   vlink((a)+6) /* the root degree in a radical noad */
 
#define radicaloptions(a)   vinfo((a)+6)
 
#define radicaloptionset(a)   ((radicaloptions(a) & noad_option_set ) == noad_option_set)
 
#define radicalexact(a)   ((radicaloptions(a) & noad_option_exact ) == noad_option_exact)
 
#define radicalleft(a)   ((radicaloptions(a) & noad_option_left ) == noad_option_left)
 
#define radicalmiddle(a)   ((radicaloptions(a) & noad_option_middle) == noad_option_middle)
 
#define radicalright(a)   ((radicaloptions(a) & noad_option_right ) == noad_option_right)
 
#define math_kernel_node_size   3
 
#define math_fam(a)   vinfo((a)+2)
 
#define math_character(a)   vlink((a)+2)
 
#define math_list(a)   vlink((a)+2)
 
#define math_shield_node_size   4 /* not used yet */
 
#define small_fam(A)   vinfo((A)+2) /* |fam| for ``small'' delimiter */
 
#define small_char(A)   vlink((A)+2) /* |character| for ``small'' delimiter */
 
#define large_fam(A)   vinfo((A)+3) /* |fam| for ``large'' delimiter */
 
#define large_char(A)   vlink((A)+3) /* |character| for ``large'' delimiter */
 
#define first_common_whatsit   0
 
#define last_common_whatsit   user_defined_node
 
#define backend_first_dvi_whatsit   15
 
#define backend_last_dvi_whatsit   15
 
#define backend_first_pdf_whatsit   16
 
#define backend_last_pdf_whatsit   32
 
#define MAX_WHATSIT_TYPE   34
 
#define known_whatsit_type(i)
 
#define get_node_size(i, j)   (i!=whatsit_node ? node_data[i].size : whatsit_node_data[j].size)
 
#define get_node_name(i, j)   (i!=whatsit_node ? node_data[i].name : whatsit_node_data[j].name)
 
#define get_etex_code(i)   (node_data[i].etex)
 
#define GLYPH_CHARACTER   (1 << 0)
 
#define GLYPH_LIGATURE   (1 << 1)
 
#define GLYPH_GHOST   (1 << 2)
 
#define GLYPH_LEFT   (1 << 3)
 
#define GLYPH_RIGHT   (1 << 4)
 
#define is_character(p)   ((subtype(p)) & GLYPH_CHARACTER)
 
#define is_ligature(p)   ((subtype(p)) & GLYPH_LIGATURE )
 
#define is_ghost(p)   ((subtype(p)) & GLYPH_GHOST )
 
#define is_simple_character(p)   (is_character(p) && !is_ligature(p) && !is_ghost(p))
 
#define is_leftboundary(p)   (is_ligature(p) && ((subtype(p)) & GLYPH_LEFT ))
 
#define is_rightboundary(p)   (is_ligature(p) && ((subtype(p)) & GLYPH_RIGHT ))
 
#define is_leftghost(p)   (is_ghost(p) && ((subtype(p)) & GLYPH_LEFT ))
 
#define is_rightghost(p)   (is_ghost(p) && ((subtype(p)) & GLYPH_RIGHT ))
 
#define set_is_glyph(p)   subtype(p) = (quarterword) (subtype(p) & ~GLYPH_CHARACTER)
 
#define set_is_character(p)   subtype(p) = (quarterword) (subtype(p) | GLYPH_CHARACTER)
 
#define set_is_ligature(p)   subtype(p) = (quarterword) (subtype(p) | GLYPH_LIGATURE)
 
#define set_is_ghost(p)   subtype(p) = (quarterword) (subtype(p) |GLYPH_GHOST)
 
#define set_to_glyph(p)   subtype(p) = (quarterword)(subtype(p) & 0xFF00)
 
#define set_to_character(p)   subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_CHARACTER)
 
#define set_to_ligature(p)   subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_LIGATURE)
 
#define set_to_ghost(p)   subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_GHOST)
 
#define set_is_leftboundary(p)   { set_to_ligature(p); subtype(p) |= GLYPH_LEFT; }
 
#define set_is_rightboundary(p)   { set_to_ligature(p); subtype(p) |= GLYPH_RIGHT; }
 
#define set_is_leftghost(p)   { set_to_ghost(p); subtype(p) |= GLYPH_LEFT; }
 
#define set_is_rightghost(p)   { set_to_ghost(p); subtype(p) |= GLYPH_RIGHT; }
 
#define boundary_node_size   3
 
#define boundary_value(a)   vinfo((a)+2)
 
#define special_node_size   3
 
#define dir_node_size   5
 
#define dir_dir(a)   vinfo((a)+2)
 
#define dir_level(a)   vlink((a)+2)
 
#define dir_refpos_h(a)   vinfo((a)+3)
 
#define dir_refpos_v(a)   vlink((a)+3)
 
#define dir_cur_h(a)   vinfo((a)+4)
 
#define dir_cur_v(a)   vlink((a)+4)
 
#define write_node_size   3
 
#define close_node_size   3
 
#define write_tokens(a)   vlink(a+2)
 
#define write_stream(a)   vinfo(a+2)
 
#define open_node_size   4
 
#define open_name(a)   vlink((a)+2)
 
#define open_area(a)   vinfo((a)+3)
 
#define open_ext(a)   vlink((a)+3)
 
#define late_lua_node_size   4
 
#define late_lua_data(a)   vlink((a)+2)
 
#define late_lua_reg(a)   vinfo((a)+2)
 
#define late_lua_name(a)   vlink((a)+3)
 
#define late_lua_type(a)   subtype((a)+3)
 
#define save_pos_node_size   3
 
#define local_par_size   6
 
#define local_pen_inter(a)   vinfo((a)+2)
 
#define local_pen_broken(a)   vlink((a)+2)
 
#define local_box_left(a)   vlink((a)+3)
 
#define local_box_left_width(a)   vinfo((a)+3)
 
#define local_box_right(a)   vlink((a)+4)
 
#define local_box_right_width(a)   vinfo((a)+4)
 
#define local_par_dir(a)   vinfo((a)+5)
 
#define lua_refid_literal   1 /* not a |normal| string */
 
#define lua_refid_call   2 /* not a |normal| string */
 
#define pdf_refobj_node_size   3
 
#define pdf_obj_objnum(a)   vinfo((a) + 2)
 
#define pdf_annot_node_size   8
 
#define pdf_dest_node_size   8
 
#define pdf_thread_node_size   8
 
#define pdf_ann_left(a)   varmem[(a) + 2].cint
 
#define pdf_ann_top(a)   varmem[(a) + 3].cint
 
#define pdf_ann_right(a)   varmem[(a) + 4].cint
 
#define pdf_ann_bottom(a)   varmem[(a) + 5].cint
 
#define pdf_literal_data(a)   vlink((a)+2)
 
#define pdf_literal_mode(a)   type((a)+2)
 
#define pdf_literal_type(a)   subtype((a)+2)
 
#define pdf_annot_data(a)   vinfo((a) + 6)
 
#define pdf_link_attr(a)   vinfo((a) + 6)
 
#define pdf_link_action(a)   vlink((a) + 6)
 
#define pdf_annot_objnum(a)   varmem[(a) + 7].cint
 
#define pdf_link_objnum(a)   varmem[(a) + 7].cint
 
#define pdf_dest_type(a)   type((a) + 6)
 
#define pdf_dest_named_id(a)   subtype((a) + 6)
 
#define pdf_dest_id(a)   vlink((a) + 6)
 
#define pdf_dest_xyz_zoom(a)   vinfo((a) + 7)
 
#define pdf_dest_objnum(a)   vlink((a) + 7)
 
#define pdf_thread_named_id(a)   subtype((a) + 6)
 
#define pdf_thread_id(a)   vlink((a) + 6)
 
#define pdf_thread_attr(a)   vinfo((a) + 7)
 
#define pdf_end_link_node_size   3
 
#define pdf_end_thread_node_size   3
 
#define pdf_setmatrix_node_size   3
 
#define pdf_save_node_size   3
 
#define pdf_restore_node_size   3
 
#define pdf_link_state_node_size   3
 
#define pdf_link_state(a)   vinfo((a) + 2)
 
#define pdf_colorstack_node_size   4
 
#define pdf_colorstack_stack(a)   vlink((a)+2)
 
#define pdf_colorstack_cmd(a)   vinfo((a)+2)
 
#define pdf_colorstack_data(a)   vlink((a)+3)
 
#define pdf_setmatrix_data(a)   vlink((a)+2)
 
#define pdf_action_size   6
 
#define pdf_action_type(a)   vlink((a)+2) /* enum pdf_action_type */
 
#define pdf_action_named_id(a)   vinfo((a)+2) /* boolean */
 
#define pdf_action_id(a)   vlink((a)+3) /* number or toks */
 
#define pdf_action_file(a)   vinfo((a)+3) /* toks */
 
#define pdf_action_new_window(a)   vlink((a)+4) /* enum pdf_window_type */
 
#define pdf_action_tokens(a)   vinfo((a)+4) /* toks */
 
#define pdf_action_refcount(a)   vlink((a)+5) /* number */
 
#define colorstack_data   colorstack_push /* last value where data field is set */
 
#define user_defined_node_size   4
 
#define user_node_type(a)   vinfo((a)+2)
 
#define user_node_id(a)   vlink((a)+2)
 
#define user_node_value(a)   vinfo((a)+3)
 
#define active_node_size   4 /*number of words in extended active nodes */
 
#define fitness   subtype /*|very_loose_fit..tight_fit| on final line for this break */
 
#define break_node(a)   vlink((a)+1) /*pointer to the corresponding passive node */
 
#define line_number(a)   vinfo((a)+1) /*line that begins at this breakpoint */
 
#define total_demerits(a)   varmem[(a)+2].cint /* the quantity that \TeX\ minimizes */
 
#define active_short(a)   vinfo(a+3) /* |shortfall| of this line */
 
#define active_glue(a)   vlink(a+3) /*corresponding glue stretch or shrink */
 
#define passive_node_size   7
 
#define cur_break(a)   vlink((a)+1) /*in passive node, points to position of this breakpoint */
 
#define prev_break(a)   vinfo((a)+1) /*points to passive node that should precede this one */
 
#define passive_pen_inter(a)   vinfo((a)+2)
 
#define passive_pen_broken(a)   vlink((a)+2)
 
#define passive_left_box(a)   vlink((a)+3)
 
#define passive_left_box_width(a)   vinfo((a)+3)
 
#define passive_last_left_box(a)   vlink((a)+4)
 
#define passive_last_left_box_width(a)   vinfo((a)+4)
 
#define passive_right_box(a)   vlink((a)+5)
 
#define passive_right_box_width(a)   vinfo((a)+5)
 
#define serial(a)   vlink((a)+6) /* serial number for symbolic identification */
 
#define delta_node_size   10 /* 8 fields, stored in a+1..9 */
 
#define couple_nodes(a, b)   {assert(b!=null);vlink(a)=b;alink(b)=a;}
 
#define try_couple_nodes(a, b)   if (b==null) vlink(a)=b; else {couple_nodes(a,b);}
 
#define uncouple_node(a)   {assert(a!=null);vlink(a)=null;alink(a)=null;}
 
#define cache_disabled   max_halfword
 
#define zero_glue   0
 
#define sfi_glue   zero_glue+glue_spec_size
 
#define fil_glue   sfi_glue+glue_spec_size
 
#define fill_glue   fil_glue+glue_spec_size
 
#define ss_glue   fill_glue+glue_spec_size
 
#define fil_neg_glue   ss_glue+glue_spec_size
 
#define page_ins_head   fil_neg_glue+glue_spec_size
 
#define contrib_head   page_ins_head+temp_node_size
 
#define page_head   contrib_head+temp_node_size
 
#define temp_head   page_head+temp_node_size
 
#define hold_head   temp_head+temp_node_size
 
#define adjust_head   hold_head+temp_node_size
 
#define pre_adjust_head   adjust_head+temp_node_size
 
#define active   pre_adjust_head+temp_node_size
 
#define align_head   active+active_node_size
 
#define end_span   align_head+temp_node_size
 
#define begin_point   end_span+span_node_size
 
#define end_point   begin_point+glyph_node_size
 
#define var_mem_stat_max   (end_point+glyph_node_size-1)
 
#define stretching   1
 
#define shrinking   2
 
#define last_normal_node   shape_node
 
#define last_whatsit_node   pdf_restore_node
 
#define is_running(A)   ((A)==null_flag) /* tests for a running dimension */
 
#define cache_disabled   max_halfword
 

Typedefs

typedef struct _subtype_info subtype_info
 
typedef struct _field_info field_info
 
typedef struct _node_info node_info
 

Enumerations

enum  glue_subtypes {
  user_skip_glue , line_skip_glue , baseline_skip_glue , par_skip_glue ,
  above_display_skip_glue , below_display_skip_glue , above_display_short_skip_glue , below_display_short_skip_glue ,
  left_skip_glue , right_skip_glue , top_skip_glue , split_top_skip_glue ,
  tab_skip_glue , space_skip_glue , xspace_skip_glue , par_fill_skip_glue ,
  math_skip_glue , thin_mu_skip_glue , med_mu_skip_glue , thick_mu_skip_glue ,
  cond_math_glue = 98 , mu_glue , a_leaders , c_leaders ,
  x_leaders , g_leaders
}
 
enum  penalty_subtypes {
  user_penalty , linebreak_penalty , line_penalty , word_penalty ,
  final_penalty , noad_penalty , before_display_penalty , after_display_penalty ,
  equation_number_penalty
}
 
enum  discretionary_subtypes {
  discretionary_disc = 0 , explicit_disc , automatic_disc , syllable_disc ,
  init_disc , select_disc
}
 
enum  kern_subtypes { font_kern = 0 , explicit_kern , accent_kern , italic_kern }
 
enum  list_subtypes {
  unknown_list = 0 , line_list = 1 , hbox_list = 2 , indent_list = 3 ,
  align_row_list = 4 , align_cell_list = 5 , equation_list = 6 , equation_number_list = 7 ,
  math_list_list = 8 , math_char_list = 9 , math_h_extensible_list = 10 , math_v_extensible_list = 11 ,
  math_h_delimiter_list = 12 , math_v_delimiter_list = 13 , math_over_delimiter_list = 14 , math_under_delimiter_list = 15 ,
  math_numerator_list = 16 , math_denominator_list = 17 , math_limits_list = 18 , math_fraction_list = 19 ,
  math_nucleus_list = 20 , math_sup_list = 21 , math_sub_list = 22 , math_degree_list = 23 ,
  math_scripts_list = 24 , math_over_list = 25 , math_under_list = 26 , math_accent_list = 27 ,
  math_radical_list = 28
}
 
enum  rule_subtypes {
  normal_rule = 0 , box_rule , image_rule , empty_rule ,
  user_rule , math_over_rule , math_under_rule , math_fraction_rule ,
  math_radical_rule , outline_rule
}
 
enum  margin_kern_subtypes { left_side = 0 , right_side }
 
enum  math_subtypes { before = 0 , after }
 
enum  node_types {
  hlist_node = 0 , vlist_node , rule_node , ins_node ,
  mark_node , adjust_node , boundary_node , disc_node ,
  whatsit_node , local_par_node , dir_node , math_node ,
  glue_node , kern_node , penalty_node , unset_node ,
  style_node , choice_node , simple_noad , radical_noad ,
  fraction_noad , accent_noad , fence_noad , math_char_node ,
  sub_box_node , sub_mlist_node , math_text_char_node , delim_node ,
  margin_kern_node , glyph_node , align_record_node , pseudo_file_node ,
  pseudo_line_node , inserting_node , split_up_node , expr_node ,
  nesting_node , span_node , attribute_node , glue_spec_node ,
  attribute_list_node , temp_node , align_stack_node , movement_node ,
  if_node , unhyphenated_node , hyphenated_node , delta_node ,
  passive_node , shape_node
}
 
enum  noad_types {
  ord_noad_type = 0 , op_noad_type_normal , op_noad_type_limits , op_noad_type_no_limits ,
  bin_noad_type , rel_noad_type , open_noad_type , close_noad_type ,
  punct_noad_type , inner_noad_type , under_noad_type , over_noad_type ,
  vcenter_noad_type
}
 
enum  math_accent_subtypes { bothflexible_accent , fixedtop_accent , fixedbottom_accent , fixedboth_accent }
 
enum  delimiter_options {
  noad_option_set = 0x08 , noad_option_unused_1 = 0x00 + 0x08 , noad_option_unused_2 = 0x01 + 0x08 , noad_option_axis = 0x02 + 0x08 ,
  noad_option_no_axis = 0x04 + 0x08 , noad_option_exact = 0x10 + 0x08 , noad_option_left = 0x11 + 0x08 , noad_option_middle = 0x12 + 0x08 ,
  noad_option_right = 0x14 + 0x08 , noad_option_no_sub_script = 0x21 + 0x08 , noad_option_no_super_script = 0x22 + 0x08 , noad_option_no_script = 0x23 + 0x08 ,
  noad_option_no_rule = 0x24 + 0x08
}
 
enum  delimiter_modes {
  noad_delimiter_mode_noshift = 0x01 , noad_delimiter_mode_italics = 0x02 , noad_delimiter_mode_ordinal = 0x04 , noad_delimiter_mode_samenos = 0x08 ,
  noad_delimiter_mode_charnos = 0x10
}
 
enum  fence_subtypes {
  unset_noad_side = 0 , left_noad_side = 1 , middle_noad_side = 2 , right_noad_side = 3 ,
  no_noad_side = 4
}
 
enum  radical_subtypes {
  radical_noad_type , uradical_noad_type , uroot_noad_type , uunderdelimiter_noad_type ,
  uoverdelimiter_noad_type , udelimiterunder_noad_type , udelimiterover_noad_type
}
 
enum  whatsit_types {
  open_node = 0 , write_node , close_node , special_node ,
  use_box_resource_node , use_image_resource_node , save_pos_node , late_lua_node ,
  user_defined_node , dvi_literal_node = 15 , pdf_literal_node = 16 , pdf_refobj_node ,
  pdf_annot_node , pdf_start_link_node , pdf_end_link_node , pdf_dest_node ,
  pdf_action_node , pdf_thread_node , pdf_start_thread_node , pdf_end_thread_node ,
  pdf_thread_data_node , pdf_link_data_node , pdf_colorstack_node , pdf_setmatrix_node ,
  pdf_save_node , pdf_restore_node , pdf_link_state_node
}
 
enum  glyph_subtypes {
  glyph_unset = 0 , glyph_character = (1 << 0) , glyph_ligature = (1 << 1) , glyph_ghost = (1 << 2) ,
  glyph_left = (1 << 3) , glyph_right = (1 << 4)
}
 
enum  boundary_subtypes { cancel_boundary = 0 , user_boundary , protrusion_boundary , word_boundary }
 
enum  dir_subtypes { normal_dir = 0 , cancel_dir }
 
enum  ctm_transform_modes {
  set_origin = 0 , direct_page , direct_always , direct_raw ,
  direct_text , direct_font , scan_special
}
 
enum  pdf_action_type { pdf_action_page = 0 , pdf_action_goto , pdf_action_thread , pdf_action_user }
 
enum  pdf_window_type { pdf_window_notset , pdf_window_new , pdf_window_nonew }
 
enum  colorstack_commands { colorstack_set = 0 , colorstack_push , colorstack_pop , colorstack_current }
 
enum  glue_orders {
  normal_g = 0 , sfi , fil , fill ,
  filll
}
 

Functions

halfword get_node (int s)
 
void free_node (halfword p, int s)
 
void init_node_mem (int s)
 
void dump_node_mem (void)
 
void undump_node_mem (void)
 
void update_attribute_cache (void)
 
halfword copy_attribute_list (halfword n)
 
halfword do_set_attribute (halfword p, int i, int val)
 
void delete_attribute_ref (halfword b)
 
void reset_node_properties (halfword b)
 
void reassign_attribute (halfword n, halfword new)
 
void build_attribute_list (halfword b)
 
halfword current_attribute_list (void)
 
int unset_attribute (halfword n, int c, int w)
 
void set_attribute (halfword n, int c, int w)
 
int has_attribute (halfword n, int c, int w)
 
halfword new_span_node (halfword n, int c, scaled w)
 
void print_short_node_contents (halfword n)
 
void show_node_list (int i)
 
pointer actual_box_width (pointer r, scaled base_width)
 
halfword new_node (int i, int j)
 
void flush_node_list (halfword)
 
void flush_node (halfword)
 
halfword do_copy_node_list (halfword, halfword)
 
halfword copy_node_list (halfword)
 
halfword copy_node (const halfword)
 
void check_node (halfword)
 
halfword fix_node_list (halfword)
 
char * sprint_node_mem_usage (void)
 
halfword raw_glyph_node (void)
 
halfword new_glyph_node (void)
 
int valid_node (halfword)
 
void flush_node_wrapup_dvi (halfword)
 
void flush_node_wrapup_pdf (halfword)
 
void copy_node_wrapup_dvi (halfword, halfword)
 
void copy_node_wrapup_pdf (halfword, halfword)
 
void check_node_wrapup_dvi (halfword)
 
void check_node_wrapup_pdf (halfword)
 
void show_node_wrapup_dvi (halfword)
 
void show_node_wrapup_pdf (halfword)
 
halfword tail_of_list (halfword p)
 
halfword new_null_box (void)
 
halfword new_rule (int s)
 
halfword new_glyph (int f, int c)
 
quarterword norm_min (int h)
 
halfword new_char (int f, int c)
 
scaled glyph_width (halfword p)
 
scaled glyph_height (halfword p)
 
scaled glyph_depth (halfword p)
 
halfword new_disc (void)
 
halfword new_math (scaled w, int s)
 
halfword new_spec (halfword p)
 
halfword new_param_glue (int n)
 
halfword new_glue (halfword q)
 
halfword new_skip_param (int n)
 
halfword new_kern (scaled w)
 
halfword new_penalty (int m, int s)
 
halfword make_local_par_node (int mode)
 
void synctex_set_mode (int mode)
 
int synctex_get_mode (void)
 
void synctex_set_tag (int tag)
 
void synctex_set_line (int line)
 
void synctex_force_tag (int tag)
 
void synctex_force_line (int tag)
 
int synctex_get_tag (void)
 
void synctex_set_no_files (int flag)
 
int synctex_get_no_files (void)
 
int synctex_get_line (void)
 
void l_set_node_data (void)
 
void l_set_whatsit_data (void)
 

Variables

memory_word *volatile varmem
 
halfword var_mem_max
 
node_info node_data []
 
node_info whatsit_node_data []
 
subtype_info node_subtypes_dir []
 
subtype_info node_subtypes_glue []
 
subtype_info node_subtypes_mathglue []
 
subtype_info node_subtypes_leader []
 
subtype_info node_subtypes_boundary []
 
subtype_info node_subtypes_penalty []
 
subtype_info node_subtypes_kern []
 
subtype_info node_subtypes_rule []
 
subtype_info node_subtypes_glyph []
 
subtype_info node_subtypes_disc []
 
subtype_info node_subtypes_marginkern []
 
subtype_info node_subtypes_list []
 
subtype_info node_subtypes_adjust []
 
subtype_info node_subtypes_math []
 
subtype_info node_subtypes_noad []
 
subtype_info node_subtypes_radical []
 
subtype_info node_subtypes_accent []
 
subtype_info node_subtypes_fence []
 
subtype_info node_values_pdf_destination []
 
subtype_info node_values_pdf_literal []
 
subtype_info node_values_pdf_action []
 
subtype_info node_values_pdf_window []
 
subtype_info node_values_fill []
 
subtype_info node_values_dir []
 
subtype_info node_values_color_stack []
 
subtype_info other_values_page_states []
 
int fix_node_lists
 
int var_used
 
int max_used_attr
 
halfword attr_list_cache
 
int lua_properties_enabled
 
int lua_properties_level
 
int lua_properties_use_metatable
 

Macro Definition Documentation

◆ accent_noad_size

#define accent_noad_size   8

Definition at line 560 of file texnodes.h.

◆ accentfraction

#define accentfraction (   a)    vlink((a)+7)

Definition at line 564 of file texnodes.h.

◆ active

Definition at line 1126 of file texnodes.h.

◆ active_glue

#define active_glue (   a)    vlink(a+3) /*corresponding glue stretch or shrink */

Definition at line 985 of file texnodes.h.

◆ active_node_size

#define active_node_size   4 /*number of words in extended active nodes */

Definition at line 979 of file texnodes.h.

◆ active_short

#define active_short (   a)    vinfo(a+3) /* |shortfall| of this line */

Definition at line 984 of file texnodes.h.

◆ add_node_attr_ref

#define add_node_attr_ref (   a)
Value:
do { \
if (a!=null) attr_list_ref((a))++; \
} while (0)
#define a(n)
Definition: gpos-common.c:148
while(temp)
Definition: t4ht.c:858
#define attr_list_ref(a)
Definition: texnodes.h:73

Definition at line 81 of file texnodes.h.

◆ adjust_head

#define adjust_head   hold_head+temp_node_size

Definition at line 1124 of file texnodes.h.

◆ adjust_node_size

#define adjust_node_size   3

Definition at line 329 of file texnodes.h.

◆ adjust_pre

#define adjust_pre   subtype

Definition at line 330 of file texnodes.h.

◆ adjust_ptr

#define adjust_ptr (   a)    vlink(a+2)

Definition at line 331 of file texnodes.h.

◆ align_head

#define align_head   active+active_node_size

Definition at line 1127 of file texnodes.h.

◆ align_stack_node_size

#define align_stack_node_size   6

Definition at line 484 of file texnodes.h.

◆ alink

#define alink (   a)    vlink((a)+1)

Definition at line 51 of file texnodes.h.

◆ assign_attribute_ref

#define assign_attribute_ref (   n,
  p 
)
Value:
do { \
node_attr(n) = p;attr_list_ref(p)++; \
} while (0)
#define n
Definition: t4ht.c:1290
small capitals from c petite p
Definition: afcover.h:72

Definition at line 77 of file texnodes.h.

◆ attr_list_ref

#define attr_list_ref (   a)    vinfo((a)+1) /* the reference count */

Definition at line 73 of file texnodes.h.

◆ attribute_id

#define attribute_id (   a)    vinfo((a)+1)

Definition at line 74 of file texnodes.h.

◆ attribute_node_size

#define attribute_node_size   2

Definition at line 70 of file texnodes.h.

◆ attribute_value

#define attribute_value (   a)    vlink((a)+1)

Definition at line 75 of file texnodes.h.

◆ backend_first_dvi_whatsit

#define backend_first_dvi_whatsit   15

Definition at line 742 of file texnodes.h.

◆ backend_first_pdf_whatsit

#define backend_first_pdf_whatsit   16

Definition at line 744 of file texnodes.h.

◆ backend_last_dvi_whatsit

#define backend_last_dvi_whatsit   15

Definition at line 743 of file texnodes.h.

◆ backend_last_pdf_whatsit

#define backend_last_pdf_whatsit   32

Definition at line 745 of file texnodes.h.

◆ begin_point

#define begin_point   end_span+span_node_size

Definition at line 1129 of file texnodes.h.

◆ bot_accent_chr

#define bot_accent_chr (   a)    vlink((a)+6) /* the |bot_accent_chr| field of an accent noad */

Definition at line 562 of file texnodes.h.

◆ boundary_node_size

#define boundary_node_size   3

Definition at line 810 of file texnodes.h.

◆ boundary_value

#define boundary_value (   a)    vinfo((a)+2)

Definition at line 811 of file texnodes.h.

◆ box_dir

#define box_dir (   a)    vinfo((a)+5)

Definition at line 286 of file texnodes.h.

◆ box_node_size

#define box_node_size   9

Definition at line 246 of file texnodes.h.

◆ break_node

#define break_node (   a)    vlink((a)+1) /*pointer to the corresponding passive node */

Definition at line 981 of file texnodes.h.

◆ cache_disabled [1/3]

#define cache_disabled   max_halfword

Definition at line 1145 of file texnodes.h.

◆ cache_disabled [2/3]

#define cache_disabled   max_halfword

Definition at line 1145 of file texnodes.h.

◆ cache_disabled [3/3]

#define cache_disabled   max_halfword

Definition at line 1145 of file texnodes.h.

◆ char_lang

#define char_lang (   a)    ((const int)(signed short)(((signed int)((unsigned)lang_data(a)&0x7FFF0000)<<1)>>17))

Definition at line 347 of file texnodes.h.

◆ char_lhmin

#define char_lhmin (   a)    ((const int)(((unsigned)lang_data(a) & 0x0000FF00)>>8))

Definition at line 348 of file texnodes.h.

◆ char_rhmin

#define char_rhmin (   a)    ((const int)(((unsigned)lang_data(a) & 0x000000FF)))

Definition at line 349 of file texnodes.h.

◆ char_uchyph

#define char_uchyph (   a)    ((const int)(((unsigned)lang_data(a) & 0x80000000)>>31))

Definition at line 350 of file texnodes.h.

◆ character

#define character (   a)    vinfo((a)+2)

Definition at line 334 of file texnodes.h.

◆ close_node_size

#define close_node_size   3

Definition at line 829 of file texnodes.h.

◆ colorstack_data

#define colorstack_data   colorstack_push /* last value where data field is set */

Definition at line 966 of file texnodes.h.

◆ contrib_head

#define contrib_head   page_ins_head+temp_node_size

Definition at line 1120 of file texnodes.h.

◆ copy_glue_values

#define copy_glue_values (   p,
  q 
)
Value:
if (q == null) { \
width(p) = 0; \
stretch(p) = 0; \
shrink(p) = 0; \
stretch_order(p) = 0; \
shrink_order(p) = 0; \
} else { \
width(p) = width(q); \
stretch(p) = stretch(q); \
shrink(p) = shrink(q); \
stretch_order(p) = stretch_order(q); \
shrink_order(p) = shrink_order(q); \
}
q
Definition: afm2pl.c:2287
#define shrink(a)
Definition: texnodes.h:163
#define width(a)
Definition: texnodes.h:282
#define stretch_order(a)
Definition: texnodes.h:165
#define shrink_order(a)
Definition: texnodes.h:166
#define stretch(a)
Definition: texnodes.h:164

Definition at line 186 of file texnodes.h.

◆ couple_nodes

#define couple_nodes (   a,
  b 
)    {assert(b!=null);vlink(a)=b;alink(b)=a;}

Definition at line 1004 of file texnodes.h.

◆ cur_break

#define cur_break (   a)    vlink((a)+1) /*in passive node, points to position of this breakpoint */

Definition at line 988 of file texnodes.h.

◆ degree

◆ delimiter

#define delimiter (   a)    vlink((a)+6) /* |delimiter| field in left and right noads */

Definition at line 580 of file texnodes.h.

◆ delimiteraxis

#define delimiteraxis (   a)    ((delimiteroptions(a) & noad_option_axis ) == noad_option_axis )

Definition at line 604 of file texnodes.h.

◆ delimiterclass

#define delimiterclass (   a)    vlink((a)+7) /* (!) we could probably pack some more in 6 */

Definition at line 582 of file texnodes.h.

◆ delimiterdepth

#define delimiterdepth (   a)    vinfo((a)+5)

Definition at line 579 of file texnodes.h.

◆ delimiterexact

#define delimiterexact (   a)    ((delimiteroptions(a) & noad_option_exact ) == noad_option_exact )

Definition at line 606 of file texnodes.h.

◆ delimiterheight

#define delimiterheight (   a)    vlink((a)+5)

Definition at line 578 of file texnodes.h.

◆ delimiteritalic

#define delimiteritalic (   a)    vlink((a)+4)

Definition at line 576 of file texnodes.h.

◆ delimitermodecharnos

Definition at line 627 of file texnodes.h.

◆ delimitermodeitalics

Definition at line 624 of file texnodes.h.

◆ delimitermodenoshift

Definition at line 623 of file texnodes.h.

◆ delimitermodeordinal

Definition at line 625 of file texnodes.h.

◆ delimitermodesamenos

Definition at line 626 of file texnodes.h.

◆ delimiternoaxis

#define delimiternoaxis (   a)    ((delimiteroptions(a) & noad_option_no_axis) == noad_option_no_axis)

Definition at line 605 of file texnodes.h.

◆ delimiteroptions

#define delimiteroptions (   a)    vinfo((a)+6)

Definition at line 581 of file texnodes.h.

◆ delimiteroptionset

#define delimiteroptionset (   a)    ((delimiteroptions(a) & noad_option_set ) == noad_option_set )

Definition at line 603 of file texnodes.h.

◆ delimitersamesize

#define delimitersamesize (   a)    vinfo((a)+7) /* set by engine */

Definition at line 583 of file texnodes.h.

◆ delta_node_size

#define delta_node_size   10 /* 8 fields, stored in a+1..9 */

Definition at line 1000 of file texnodes.h.

◆ denominator

#define denominator (   a)    vinfo((a)+3) /* |denominator| field in a fraction noad */

Definition at line 651 of file texnodes.h.

◆ depth

#define depth (   a)    varmem[(a)+3].cint

Definition at line 283 of file texnodes.h.

◆ depth_offset

#define depth_offset   3

Definition at line 95 of file texnodes.h.

◆ dir_cur_h

#define dir_cur_h (   a)    vinfo((a)+4)

Definition at line 825 of file texnodes.h.

◆ dir_cur_v

#define dir_cur_v (   a)    vlink((a)+4)

Definition at line 826 of file texnodes.h.

◆ dir_dir

#define dir_dir (   a)    vinfo((a)+2)

Definition at line 821 of file texnodes.h.

◆ dir_level

#define dir_level (   a)    vlink((a)+2)

Definition at line 822 of file texnodes.h.

◆ dir_node_size

#define dir_node_size   5

Definition at line 820 of file texnodes.h.

◆ dir_refpos_h

#define dir_refpos_h (   a)    vinfo((a)+3)

Definition at line 823 of file texnodes.h.

◆ dir_refpos_v

#define dir_refpos_v (   a)    vlink((a)+3)

Definition at line 824 of file texnodes.h.

◆ disc_node_size

#define disc_node_size   11

Definition at line 216 of file texnodes.h.

◆ disc_penalty

#define disc_penalty (   a)    vlink((a)+2)

Definition at line 221 of file texnodes.h.

◆ display_mlist

#define display_mlist (   a)    vinfo((a)+2) /* mlist to be used in display style */

Definition at line 512 of file texnodes.h.

◆ eject_penalty

#define eject_penalty   -(inf_penalty) /* ``negatively infinite'' penalty value */

Definition at line 134 of file texnodes.h.

◆ end_point

Definition at line 1130 of file texnodes.h.

◆ end_span

Definition at line 1128 of file texnodes.h.

◆ ex_glyph

#define ex_glyph (   a)    vinfo((a)+5) /* expansion factor (hz) */

Definition at line 340 of file texnodes.h.

◆ ex_kern

#define ex_kern (   a)    vinfo((a)+3) /* expansion factor (hz) */

Definition at line 242 of file texnodes.h.

◆ expr_e_field

#define expr_e_field (   A)    vlink((A)+1) /* saved expression so far */

Definition at line 490 of file texnodes.h.

◆ expr_n_field

#define expr_n_field (   A)    vinfo((A)+2) /* saved numerator */

Definition at line 492 of file texnodes.h.

◆ expr_node_size

#define expr_node_size   3

Definition at line 487 of file texnodes.h.

◆ expr_state

#define expr_state (   A)    subtype((A)+1) /* enum defined in scanning.w */

Definition at line 489 of file texnodes.h.

◆ expr_t_field

#define expr_t_field (   A)    vlink((A)+2) /* saved term so far */

Definition at line 491 of file texnodes.h.

◆ expr_type

#define expr_type (   A)    type((A)+1)

Definition at line 488 of file texnodes.h.

◆ fence_noad_size

#define fence_noad_size   8 /* needs to match noad size */

Definition at line 575 of file texnodes.h.

◆ fil_glue

#define fil_glue   sfi_glue+glue_spec_size

Definition at line 1114 of file texnodes.h.

◆ fil_neg_glue

#define fil_neg_glue   ss_glue+glue_spec_size

Definition at line 1117 of file texnodes.h.

◆ fill_glue

#define fill_glue   fil_glue+glue_spec_size

Definition at line 1115 of file texnodes.h.

◆ first_common_whatsit

#define first_common_whatsit   0

Definition at line 740 of file texnodes.h.

◆ fitness

#define fitness   subtype /*|very_loose_fit..tight_fit| on final line for this break */

Definition at line 980 of file texnodes.h.

◆ float_cost

#define float_cost (   a)    varmem[(a)+2].cint

Definition at line 390 of file texnodes.h.

◆ font

#define font (   a)    vlink((a)+2)

Definition at line 335 of file texnodes.h.

◆ fraction_fam

#define fraction_fam (   a)    vlink((a)+7)

Definition at line 656 of file texnodes.h.

◆ fraction_noad_size

#define fraction_noad_size   8

Definition at line 648 of file texnodes.h.

◆ fractionexact

#define fractionexact (   a)    ((fractionoptions(a) & noad_option_exact ) == noad_option_exact )

Definition at line 659 of file texnodes.h.

◆ fractionnoaxis

#define fractionnoaxis (   a)    ((fractionoptions(a) & noad_option_no_axis) == noad_option_no_axis)

Definition at line 660 of file texnodes.h.

◆ fractionnorule

#define fractionnorule (   a)    ((fractionoptions(a) & noad_option_no_rule) == noad_option_no_rule)

Definition at line 661 of file texnodes.h.

◆ fractionoptions

#define fractionoptions (   a)    vinfo((a)+6)

Definition at line 655 of file texnodes.h.

◆ fractionoptionset

#define fractionoptionset (   a)    ((fractionoptions(a) & noad_option_set ) == noad_option_set )

Definition at line 658 of file texnodes.h.

◆ get_etex_code

#define get_etex_code (   i)    (node_data[i].etex)

Definition at line 759 of file texnodes.h.

◆ get_node_name

#define get_node_name (   i,
  j 
)    (i!=whatsit_node ? node_data[i].name : whatsit_node_data[j].name)

Definition at line 758 of file texnodes.h.

◆ get_node_size

#define get_node_size (   i,
  j 
)    (i!=whatsit_node ? node_data[i].size : whatsit_node_data[j].size)

Definition at line 757 of file texnodes.h.

◆ glue_is_positive

#define glue_is_positive (   p)     ((p == null) || (width(p) > 0))

Definition at line 174 of file texnodes.h.

◆ glue_is_zero

#define glue_is_zero (   p)     ((p == null) || (width(p) == 0 && stretch(p) == 0 && shrink(p) == 0))

Definition at line 171 of file texnodes.h.

◆ glue_node_size

#define glue_node_size   7

Definition at line 159 of file texnodes.h.

◆ glue_order

#define glue_order (   a)    subtype((a)+6)

Definition at line 288 of file texnodes.h.

◆ glue_set

#define glue_set (   a)    varmem[(a)+7].gr

Definition at line 290 of file texnodes.h.

◆ glue_shrink

#define glue_shrink   shift_amount

Definition at line 297 of file texnodes.h.

◆ glue_sign

#define glue_sign (   a)    type((a)+6)

Definition at line 289 of file texnodes.h.

◆ glue_spec_size

#define glue_spec_size   5

Definition at line 160 of file texnodes.h.

◆ glue_stretch

#define glue_stretch (   a)    varmem[(a)+7].cint

Definition at line 296 of file texnodes.h.

◆ GLYPH_CHARACTER

#define GLYPH_CHARACTER   (1 << 0)

Definition at line 761 of file texnodes.h.

◆ GLYPH_GHOST

#define GLYPH_GHOST   (1 << 2)

Definition at line 763 of file texnodes.h.

◆ GLYPH_LEFT

#define GLYPH_LEFT   (1 << 3)

Definition at line 764 of file texnodes.h.

◆ GLYPH_LIGATURE

#define GLYPH_LIGATURE   (1 << 1)

Definition at line 762 of file texnodes.h.

◆ glyph_node_data

#define glyph_node_data (   a)    vlink((a)+5)

Definition at line 341 of file texnodes.h.

◆ glyph_node_size

#define glyph_node_size   7

Definition at line 333 of file texnodes.h.

◆ GLYPH_RIGHT

#define GLYPH_RIGHT   (1 << 4)

Definition at line 765 of file texnodes.h.

◆ height

#define height (   a)    varmem[(a)+4].cint

Definition at line 284 of file texnodes.h.

◆ height_offset

#define height_offset   4

Definition at line 96 of file texnodes.h.

◆ hold_head

#define hold_head   temp_head+temp_node_size

Definition at line 1123 of file texnodes.h.

◆ if_node_size

#define if_node_size   2

Definition at line 483 of file texnodes.h.

◆ inf_bad

#define inf_bad   10000 /* infinitely bad value */

Definition at line 132 of file texnodes.h.

◆ inf_penalty

#define inf_penalty   inf_bad /* ``infinite'' penalty value */

Definition at line 133 of file texnodes.h.

◆ init_lang_data

#define init_lang_data (   a)    lang_data(a)=256+1

Definition at line 355 of file texnodes.h.

◆ ins_node_size

#define ins_node_size   6

Definition at line 389 of file texnodes.h.

◆ ins_ptr

#define ins_ptr (   a)    vinfo((a)+5)

Definition at line 391 of file texnodes.h.

◆ is_char_node

#define is_char_node (   a)    (a!=null && type(a)==glyph_node)

Definition at line 345 of file texnodes.h.

◆ is_character

#define is_character (   p)    ((subtype(p)) & GLYPH_CHARACTER)

Definition at line 776 of file texnodes.h.

◆ is_ghost

#define is_ghost (   p)    ((subtype(p)) & GLYPH_GHOST )

Definition at line 778 of file texnodes.h.

◆ is_leftboundary

#define is_leftboundary (   p)    (is_ligature(p) && ((subtype(p)) & GLYPH_LEFT ))

Definition at line 782 of file texnodes.h.

◆ is_leftghost

#define is_leftghost (   p)    (is_ghost(p) && ((subtype(p)) & GLYPH_LEFT ))

Definition at line 784 of file texnodes.h.

◆ is_ligature

#define is_ligature (   p)    ((subtype(p)) & GLYPH_LIGATURE )

Definition at line 777 of file texnodes.h.

◆ is_rightboundary

#define is_rightboundary (   p)    (is_ligature(p) && ((subtype(p)) & GLYPH_RIGHT ))

Definition at line 783 of file texnodes.h.

◆ is_rightghost

#define is_rightghost (   p)    (is_ghost(p) && ((subtype(p)) & GLYPH_RIGHT ))

Definition at line 785 of file texnodes.h.

◆ is_running

#define is_running (   A)    ((A)==null_flag) /* tests for a running dimension */

Definition at line 1139 of file texnodes.h.

◆ is_simple_character

#define is_simple_character (   p)    (is_character(p) && !is_ligature(p) && !is_ghost(p))

Definition at line 780 of file texnodes.h.

◆ kern_node_size

#define kern_node_size   5

Definition at line 241 of file texnodes.h.

◆ known_node_type

#define known_node_type (   i)    ( i >= 0 && i <= MAX_NODE_TYPE)

Definition at line 478 of file texnodes.h.

◆ known_whatsit_type

#define known_whatsit_type (   i)
Value:
( \
)
small capitals from c petite p scientific i
Definition: afcover.h:80
#define last_common_whatsit
Definition: texnodes.h:741
#define backend_first_pdf_whatsit
Definition: texnodes.h:744
#define first_common_whatsit
Definition: texnodes.h:740
#define backend_first_dvi_whatsit
Definition: texnodes.h:742
#define backend_last_dvi_whatsit
Definition: texnodes.h:743
#define backend_last_pdf_whatsit
Definition: texnodes.h:745

Definition at line 751 of file texnodes.h.

◆ lang_data

#define lang_data (   a)    vinfo((a)+3)

Definition at line 336 of file texnodes.h.

◆ large_char

#define large_char (   A)    vlink((A)+3) /* |character| for ``large'' delimiter */

Definition at line 701 of file texnodes.h.

◆ large_fam

#define large_fam (   A)    vinfo((A)+3) /* |fam| for ``large'' delimiter */

Definition at line 700 of file texnodes.h.

◆ last_common_whatsit

#define last_common_whatsit   user_defined_node

Definition at line 741 of file texnodes.h.

◆ last_known_node

#define last_known_node   temp_node /* used by \lastnodetype */

Definition at line 480 of file texnodes.h.

◆ last_non_discardable_node

#define last_non_discardable_node   dir_node

Definition at line 411 of file texnodes.h.

◆ last_normal_node

#define last_normal_node   shape_node

Definition at line 1136 of file texnodes.h.

◆ last_preceding_break_node

#define last_preceding_break_node   whatsit_node

Definition at line 408 of file texnodes.h.

◆ last_whatsit_node

#define last_whatsit_node   pdf_restore_node

Definition at line 1137 of file texnodes.h.

◆ late_lua_data

#define late_lua_data (   a)    vlink((a)+2)

Definition at line 839 of file texnodes.h.

◆ late_lua_name

#define late_lua_name (   a)    vlink((a)+3)

Definition at line 841 of file texnodes.h.

◆ late_lua_node_size

#define late_lua_node_size   4

Definition at line 838 of file texnodes.h.

◆ late_lua_reg

#define late_lua_reg (   a)    vinfo((a)+2)

Definition at line 840 of file texnodes.h.

◆ late_lua_type

#define late_lua_type (   a)    subtype((a)+3)

Definition at line 842 of file texnodes.h.

◆ leader_ptr

#define leader_ptr (   a)    vlink((a)+5) /* should be in vlink((a)+2) but fails */

Definition at line 167 of file texnodes.h.

◆ left_delimiter

#define left_delimiter (   a)    vlink((a)+5) /* first delimiter field of a noad */

Definition at line 652 of file texnodes.h.

◆ lig_ptr

#define lig_ptr (   a)    vlink((a)+3)

Definition at line 337 of file texnodes.h.

◆ line_number

#define line_number (   a)    vinfo((a)+1) /*line that begins at this breakpoint */

Definition at line 982 of file texnodes.h.

◆ list_offset

#define list_offset   6

Definition at line 97 of file texnodes.h.

◆ list_ptr

#define list_ptr (   a)    vlink((a)+6)

Definition at line 287 of file texnodes.h.

◆ local_box_left

#define local_box_left (   a)    vlink((a)+3)

Definition at line 850 of file texnodes.h.

◆ local_box_left_width

#define local_box_left_width (   a)    vinfo((a)+3)

Definition at line 851 of file texnodes.h.

◆ local_box_right

#define local_box_right (   a)    vlink((a)+4)

Definition at line 852 of file texnodes.h.

◆ local_box_right_width

#define local_box_right_width (   a)    vinfo((a)+4)

Definition at line 853 of file texnodes.h.

◆ local_par_dir

#define local_par_dir (   a)    vinfo((a)+5)

Definition at line 854 of file texnodes.h.

◆ local_par_size

#define local_par_size   6

Definition at line 846 of file texnodes.h.

◆ local_pen_broken

#define local_pen_broken (   a)    vlink((a)+2)

Definition at line 849 of file texnodes.h.

◆ local_pen_inter

#define local_pen_inter (   a)    vinfo((a)+2)

Definition at line 848 of file texnodes.h.

◆ lua_refid_call

#define lua_refid_call   2 /* not a |normal| string */

Definition at line 859 of file texnodes.h.

◆ lua_refid_literal

#define lua_refid_literal   1 /* not a |normal| string */

Definition at line 858 of file texnodes.h.

◆ make_lang_data

#define make_lang_data (   a,
  b,
  c,
  d 
)
Value:
(a>0 ? (1<<31): 0)+ \
(b<<16)+ (((c>0 && c<256) ? c : 255)<<8)+(((d>0 && d<256) ? d : 255))
#define b
Definition: jpegint.h:372
#define c(n)
Definition: gpos-common.c:150
#define d(n)
Definition: gpos-common.c:151

Definition at line 352 of file texnodes.h.

◆ margin_char

#define margin_char (   a)    vlink((a)+3)

Definition at line 363 of file texnodes.h.

◆ margin_kern_node_size

#define margin_kern_node_size   4

Definition at line 362 of file texnodes.h.

◆ mark_class

#define mark_class (   a)    vinfo((a)+2)

Definition at line 327 of file texnodes.h.

◆ mark_node_size

#define mark_node_size   3

Definition at line 325 of file texnodes.h.

◆ mark_ptr

#define mark_ptr (   a)    vlink((a)+2)

Definition at line 326 of file texnodes.h.

◆ math_character

#define math_character (   a)    vlink((a)+2)

Definition at line 691 of file texnodes.h.

◆ math_fam

#define math_fam (   a)    vinfo((a)+2)

Definition at line 690 of file texnodes.h.

◆ math_kernel_node_size

#define math_kernel_node_size   3

Definition at line 689 of file texnodes.h.

◆ math_list

#define math_list (   a)    vlink((a)+2)

Definition at line 692 of file texnodes.h.

◆ math_node_size

#define math_node_size   7

Definition at line 377 of file texnodes.h.

◆ math_shield_node_size

#define math_shield_node_size   4 /* not used yet */

Definition at line 696 of file texnodes.h.

◆ max_dimen

#define max_dimen   0x3FFFFFFF

Definition at line 38 of file texnodes.h.

◆ max_halfword

#define max_halfword   0x3FFFFFFF

Definition at line 37 of file texnodes.h.

◆ MAX_NODE_TYPE

#define MAX_NODE_TYPE   shape_node /* 60 */

Definition at line 453 of file texnodes.h.

◆ MAX_WHATSIT_TYPE

#define MAX_WHATSIT_TYPE   34

Definition at line 749 of file texnodes.h.

◆ middle_delimiter

#define middle_delimiter (   a)    vlink((a)+6)

Definition at line 654 of file texnodes.h.

◆ movement_node_size

#define movement_node_size   3

Definition at line 482 of file texnodes.h.

◆ nesting_node_size

#define nesting_node_size   2

Definition at line 485 of file texnodes.h.

◆ new_hlist

#define new_hlist (   a)    vlink((a)+2) /* the translation of an mlist */

Definition at line 527 of file texnodes.h.

◆ no_break

#define no_break (   a)    vlink((a)+4) /* we have vinfo((a)+4) for later usage */

Definition at line 224 of file texnodes.h.

◆ no_break_head

#define no_break_head (   a)    ((a)+9)

Definition at line 219 of file texnodes.h.

◆ noad_fam

#define noad_fam (   a)    vlink((a)+6) /* noadextra1 */

Definition at line 540 of file texnodes.h.

◆ noad_size

#define noad_size   8

Definition at line 526 of file texnodes.h.

◆ noaddepth

#define noaddepth (   a)    vinfo((a)+5)

Definition at line 534 of file texnodes.h.

◆ noadextra1

#define noadextra1 (   a)    vlink((a)+6) /* we need to match delimiter (saves copy) */

Definition at line 535 of file texnodes.h.

◆ noadextra3

#define noadextra3 (   a)    vlink((a)+7) /* see (!) below */

Definition at line 537 of file texnodes.h.

◆ noadextra4

#define noadextra4 (   a)    vinfo((a)+7) /* used to store samesize */

Definition at line 538 of file texnodes.h.

◆ noadheight

#define noadheight (   a)    vlink((a)+5)

Definition at line 533 of file texnodes.h.

◆ noaditalic

#define noaditalic (   a)    vlink((a)+4)

Definition at line 531 of file texnodes.h.

◆ noadoptionnosubscript

#define noadoptionnosubscript (   a)
Value:
( (type(a) == simple_noad) && ( \
@ noad_option_no_sub_script
Definition: texnodes.h:597
@ noad_option_no_script
Definition: texnodes.h:599
#define type(a)
Definition: texnodes.h:48
@ simple_noad
Definition: texnodes.h:419
#define delimiteroptions(a)
Definition: texnodes.h:581

Definition at line 608 of file texnodes.h.

◆ noadoptionnosupscript

#define noadoptionnosupscript (   a)
Value:

Definition at line 611 of file texnodes.h.

◆ noadoptions

#define noadoptions (   a)    vinfo((a)+6)

Definition at line 536 of file texnodes.h.

◆ noadwidth

#define noadwidth (   a)    vinfo((a)+4)

Definition at line 532 of file texnodes.h.

◆ node_attr

#define node_attr (   a)    vinfo((a)+1)

Definition at line 50 of file texnodes.h.

◆ node_size

#define node_size (   a)    varmem[(a)].hh.v.LH

Definition at line 53 of file texnodes.h.

◆ nodetype_has_attributes

#define nodetype_has_attributes (   t)    (((t)<=glyph_node) && ((t)!=unset_node))

Definition at line 501 of file texnodes.h.

◆ nodetype_has_prev

#define nodetype_has_prev (   t)    nodetype_has_subtype((t))

Definition at line 504 of file texnodes.h.

◆ nodetype_has_subtype

#define nodetype_has_subtype (   t)    ((t)!=attribute_list_node && (t)!=attribute_node && (t)!=glue_spec_node)

Definition at line 503 of file texnodes.h.

◆ non_discardable

#define non_discardable (   a)    (type(a)<=last_non_discardable_node)

Definition at line 476 of file texnodes.h.

◆ normal

#define normal (   void)    0

Definition at line 44 of file texnodes.h.

◆ nucleus

#define nucleus (   a)    vinfo((a)+2) /* the |nucleus| field of a noad */

Definition at line 528 of file texnodes.h.

◆ null

#define null   0

Definition at line 40 of file texnodes.h.

◆ null_flag

#define null_flag   -0x40000000

Definition at line 42 of file texnodes.h.

◆ numerator

#define numerator (   a)    vlink((a)+3) /* |numerator| field in a fraction noad */

Definition at line 650 of file texnodes.h.

◆ open_area

#define open_area (   a)    vinfo((a)+3)

Definition at line 835 of file texnodes.h.

◆ open_ext

#define open_ext (   a)    vlink((a)+3)

Definition at line 836 of file texnodes.h.

◆ open_name

#define open_name (   a)    vlink((a)+2)

Definition at line 834 of file texnodes.h.

◆ open_node_size

#define open_node_size   4

Definition at line 833 of file texnodes.h.

◆ overlay_accent_chr

#define overlay_accent_chr (   a)    vinfo((a)+7) /* the |overlay_accent_chr| field of an accent noad */

Definition at line 563 of file texnodes.h.

◆ page_head

Definition at line 1121 of file texnodes.h.

◆ page_ins_head

#define page_ins_head   fil_neg_glue+glue_spec_size

Definition at line 1118 of file texnodes.h.

◆ page_ins_node_size

#define page_ins_node_size   5

Definition at line 394 of file texnodes.h.

◆ passive_last_left_box

#define passive_last_left_box (   a)    vlink((a)+4)

Definition at line 994 of file texnodes.h.

◆ passive_last_left_box_width

#define passive_last_left_box_width (   a)    vinfo((a)+4)

Definition at line 995 of file texnodes.h.

◆ passive_left_box

#define passive_left_box (   a)    vlink((a)+3)

Definition at line 992 of file texnodes.h.

◆ passive_left_box_width

#define passive_left_box_width (   a)    vinfo((a)+3)

Definition at line 993 of file texnodes.h.

◆ passive_node_size

#define passive_node_size   7

Definition at line 987 of file texnodes.h.

◆ passive_pen_broken

#define passive_pen_broken (   a)    vlink((a)+2)

Definition at line 991 of file texnodes.h.

◆ passive_pen_inter

#define passive_pen_inter (   a)    vinfo((a)+2)

Definition at line 990 of file texnodes.h.

◆ passive_right_box

#define passive_right_box (   a)    vlink((a)+5)

Definition at line 996 of file texnodes.h.

◆ passive_right_box_width

#define passive_right_box_width (   a)    vinfo((a)+5)

Definition at line 997 of file texnodes.h.

◆ pdf_action_file

#define pdf_action_file (   a)    vinfo((a)+3) /* toks */

Definition at line 954 of file texnodes.h.

◆ pdf_action_id

#define pdf_action_id (   a)    vlink((a)+3) /* number or toks */

Definition at line 953 of file texnodes.h.

◆ pdf_action_named_id

#define pdf_action_named_id (   a)    vinfo((a)+2) /* boolean */

Definition at line 952 of file texnodes.h.

◆ pdf_action_new_window

#define pdf_action_new_window (   a)    vlink((a)+4) /* enum pdf_window_type */

Definition at line 955 of file texnodes.h.

◆ pdf_action_refcount

#define pdf_action_refcount (   a)    vlink((a)+5) /* number */

Definition at line 957 of file texnodes.h.

◆ pdf_action_size

#define pdf_action_size   6

Definition at line 949 of file texnodes.h.

◆ pdf_action_tokens

#define pdf_action_tokens (   a)    vinfo((a)+4) /* toks */

Definition at line 956 of file texnodes.h.

◆ pdf_action_type

#define pdf_action_type (   a)    vlink((a)+2) /* enum pdf_action_type */

Definition at line 951 of file texnodes.h.

◆ pdf_ann_bottom

#define pdf_ann_bottom (   a)    varmem[(a) + 5].cint

Definition at line 897 of file texnodes.h.

◆ pdf_ann_left

#define pdf_ann_left (   a)    varmem[(a) + 2].cint

Definition at line 894 of file texnodes.h.

◆ pdf_ann_right

#define pdf_ann_right (   a)    varmem[(a) + 4].cint

Definition at line 896 of file texnodes.h.

◆ pdf_ann_top

#define pdf_ann_top (   a)    varmem[(a) + 3].cint

Definition at line 895 of file texnodes.h.

◆ pdf_annot_data

#define pdf_annot_data (   a)    vinfo((a) + 6)

Definition at line 903 of file texnodes.h.

◆ pdf_annot_node_size

#define pdf_annot_node_size   8

Definition at line 879 of file texnodes.h.

◆ pdf_annot_objnum

#define pdf_annot_objnum (   a)    varmem[(a) + 7].cint

Definition at line 906 of file texnodes.h.

◆ pdf_colorstack_cmd

#define pdf_colorstack_cmd (   a)    vinfo((a)+2)

Definition at line 932 of file texnodes.h.

◆ pdf_colorstack_data

#define pdf_colorstack_data (   a)    vlink((a)+3)

Definition at line 933 of file texnodes.h.

◆ pdf_colorstack_node_size

#define pdf_colorstack_node_size   4

Definition at line 930 of file texnodes.h.

◆ pdf_colorstack_stack

#define pdf_colorstack_stack (   a)    vlink((a)+2)

Definition at line 931 of file texnodes.h.

◆ pdf_dest_id

#define pdf_dest_id (   a)    vlink((a) + 6)

Definition at line 911 of file texnodes.h.

◆ pdf_dest_named_id

#define pdf_dest_named_id (   a)    subtype((a) + 6)

Definition at line 910 of file texnodes.h.

◆ pdf_dest_node_size

#define pdf_dest_node_size   8

Definition at line 880 of file texnodes.h.

◆ pdf_dest_objnum

#define pdf_dest_objnum (   a)    vlink((a) + 7)

Definition at line 913 of file texnodes.h.

◆ pdf_dest_type

#define pdf_dest_type (   a)    type((a) + 6)

Definition at line 909 of file texnodes.h.

◆ pdf_dest_xyz_zoom

#define pdf_dest_xyz_zoom (   a)    vinfo((a) + 7)

Definition at line 912 of file texnodes.h.

◆ pdf_end_link_node_size

#define pdf_end_link_node_size   3

Definition at line 919 of file texnodes.h.

◆ pdf_end_thread_node_size

#define pdf_end_thread_node_size   3

Definition at line 920 of file texnodes.h.

◆ pdf_link_action

#define pdf_link_action (   a)    vlink((a) + 6)

Definition at line 905 of file texnodes.h.

◆ pdf_link_attr

#define pdf_link_attr (   a)    vinfo((a) + 6)

Definition at line 904 of file texnodes.h.

◆ pdf_link_objnum

#define pdf_link_objnum (   a)    varmem[(a) + 7].cint

Definition at line 907 of file texnodes.h.

◆ pdf_link_state

#define pdf_link_state (   a)    vinfo((a) + 2)

Definition at line 928 of file texnodes.h.

◆ pdf_link_state_node_size

#define pdf_link_state_node_size   3

Definition at line 926 of file texnodes.h.

◆ pdf_literal_data

#define pdf_literal_data (   a)    vlink((a)+2)

Definition at line 899 of file texnodes.h.

◆ pdf_literal_mode

#define pdf_literal_mode (   a)    type((a)+2)

Definition at line 900 of file texnodes.h.

◆ pdf_literal_type

#define pdf_literal_type (   a)    subtype((a)+2)

Definition at line 901 of file texnodes.h.

◆ pdf_obj_objnum

#define pdf_obj_objnum (   a)    vinfo((a) + 2)

Definition at line 877 of file texnodes.h.

◆ pdf_refobj_node_size

#define pdf_refobj_node_size   3

Definition at line 875 of file texnodes.h.

◆ pdf_restore_node_size

#define pdf_restore_node_size   3

Definition at line 924 of file texnodes.h.

◆ pdf_save_node_size

#define pdf_save_node_size   3

Definition at line 923 of file texnodes.h.

◆ pdf_setmatrix_data

#define pdf_setmatrix_data (   a)    vlink((a)+2)

Definition at line 934 of file texnodes.h.

◆ pdf_setmatrix_node_size

#define pdf_setmatrix_node_size   3

Definition at line 922 of file texnodes.h.

◆ pdf_thread_attr

#define pdf_thread_attr (   a)    vinfo((a) + 7)

Definition at line 917 of file texnodes.h.

◆ pdf_thread_id

#define pdf_thread_id (   a)    vlink((a) + 6)

Definition at line 916 of file texnodes.h.

◆ pdf_thread_named_id

#define pdf_thread_named_id (   a)    subtype((a) + 6)

Definition at line 915 of file texnodes.h.

◆ pdf_thread_node_size

#define pdf_thread_node_size   8

Definition at line 881 of file texnodes.h.

◆ penalty

#define penalty (   a)    vlink((a)+2)

Definition at line 137 of file texnodes.h.

◆ penalty_node_size

#define penalty_node_size   3

Definition at line 136 of file texnodes.h.

◆ post_break

#define post_break (   a)    vlink((a)+3)

Definition at line 223 of file texnodes.h.

◆ post_break_head

#define post_break_head (   a)    ((a)+7)

Definition at line 218 of file texnodes.h.

◆ pre_adjust_head

#define pre_adjust_head   adjust_head+temp_node_size

Definition at line 1125 of file texnodes.h.

◆ pre_break

#define pre_break (   a)    vinfo((a)+3)

Definition at line 222 of file texnodes.h.

◆ pre_break_head

#define pre_break_head (   a)    ((a)+5)

Definition at line 217 of file texnodes.h.

◆ precedes_break

#define precedes_break (   a)    (type(a)<=last_preceding_break_node)

Definition at line 473 of file texnodes.h.

◆ precedes_dir

#define precedes_dir (   a)    ((type(a) == dir_node) && (break_after_dir_mode_par == 1))

Definition at line 475 of file texnodes.h.

◆ precedes_kern

#define precedes_kern (   a)    ((type(a) == kern_node) && (subtype(a) == font_kern || subtype(a) == accent_kern))

Definition at line 474 of file texnodes.h.

◆ prev_break

#define prev_break (   a)    vinfo((a)+1) /*points to passive node that should precede this one */

Definition at line 989 of file texnodes.h.

◆ pseudo_file_node_size

#define pseudo_file_node_size   2

Definition at line 498 of file texnodes.h.

◆ pseudo_lines

#define pseudo_lines (   a)    vlink((a)+1)

Definition at line 499 of file texnodes.h.

◆ radical_noad_size

#define radical_noad_size   7

Definition at line 666 of file texnodes.h.

◆ radicalexact

#define radicalexact (   a)    ((radicaloptions(a) & noad_option_exact ) == noad_option_exact)

Definition at line 672 of file texnodes.h.

◆ radicalleft

#define radicalleft (   a)    ((radicaloptions(a) & noad_option_left ) == noad_option_left)

Definition at line 673 of file texnodes.h.

◆ radicalmiddle

#define radicalmiddle (   a)    ((radicaloptions(a) & noad_option_middle) == noad_option_middle)

Definition at line 674 of file texnodes.h.

◆ radicaloptions

#define radicaloptions (   a)    vinfo((a)+6)

Definition at line 669 of file texnodes.h.

◆ radicaloptionset

#define radicaloptionset (   a)    ((radicaloptions(a) & noad_option_set ) == noad_option_set)

Definition at line 671 of file texnodes.h.

◆ radicalright

#define radicalright (   a)    ((radicaloptions(a) & noad_option_right ) == noad_option_right)

Definition at line 675 of file texnodes.h.

◆ radicalwidth

#define radicalwidth (   a)    vinfo((a)+4)

Definition at line 667 of file texnodes.h.

◆ replace_attribute_list

#define replace_attribute_list (   a,
  b 
)
Value:
do { \
delete_attribute_ref(node_attr(a)); \
node_attr(a)=b; \
} while (0)
#define node_attr(a)
Definition: texnodes.h:50

Definition at line 85 of file texnodes.h.

◆ reset_glue_to_zero

#define reset_glue_to_zero (   p)
Value:
if (p != null) { \
width(p) = 0; \
stretch(p) = 0; \
shrink(p) = 0; \
stretch_order(p) = 0; \
shrink_order(p) = 0; \
}

Definition at line 177 of file texnodes.h.

◆ right_delimiter

#define right_delimiter (   a)    vinfo((a)+5) /* second delimiter field of a fraction noad */

Definition at line 653 of file texnodes.h.

◆ rlink

#define rlink (   a)    vlink((a)+1) /* aka alink() */

Definition at line 55 of file texnodes.h.

◆ rule_dir

#define rule_dir (   a)    vlink((a)+5)

Definition at line 314 of file texnodes.h.

◆ rule_index

#define rule_index (   a)    vinfo((a)+6)

Definition at line 315 of file texnodes.h.

◆ rule_left

#define rule_left (   a)    vinfo((a)+7)

Definition at line 317 of file texnodes.h.

◆ rule_math_font

#define rule_math_font   rule_transform

Definition at line 323 of file texnodes.h.

◆ rule_math_size

#define rule_math_size   rule_index

Definition at line 322 of file texnodes.h.

◆ rule_node_size

#define rule_node_size   9

Definition at line 313 of file texnodes.h.

◆ rule_right

#define rule_right (   a)    vlink((a)+7)

Definition at line 318 of file texnodes.h.

◆ rule_transform

#define rule_transform (   a)    vlink((a)+6)

Definition at line 316 of file texnodes.h.

◆ save_pos_node_size

#define save_pos_node_size   3

Definition at line 844 of file texnodes.h.

◆ script_mlist

#define script_mlist (   a)    vinfo((a)+3) /* mlist to be used in script style */

Definition at line 514 of file texnodes.h.

◆ script_script_mlist

#define script_script_mlist (   a)    vlink((a)+3) /* mlist to be used in scriptscript style */

Definition at line 515 of file texnodes.h.

◆ serial

#define serial (   a)    vlink((a)+6) /* serial number for symbolic identification */

Definition at line 998 of file texnodes.h.

◆ set_char_lang

#define set_char_lang (   a,
  b 
)    lang_data(a)=make_lang_data(char_uchyph(a),b,char_lhmin(a),char_rhmin(a))

Definition at line 357 of file texnodes.h.

◆ set_char_lhmin

#define set_char_lhmin (   a,
  b 
)    lang_data(a)=make_lang_data(char_uchyph(a),char_lang(a),b,char_rhmin(a))

Definition at line 358 of file texnodes.h.

◆ set_char_rhmin

#define set_char_rhmin (   a,
  b 
)    lang_data(a)=make_lang_data(char_uchyph(a),char_lang(a),char_lhmin(a),b)

Definition at line 359 of file texnodes.h.

◆ set_char_uchyph

#define set_char_uchyph (   a,
  b 
)    lang_data(a)=make_lang_data(b,char_lang(a),char_lhmin(a),char_rhmin(a))

Definition at line 360 of file texnodes.h.

◆ set_is_character

#define set_is_character (   p)    subtype(p) = (quarterword) (subtype(p) | GLYPH_CHARACTER)

Definition at line 789 of file texnodes.h.

◆ set_is_ghost

#define set_is_ghost (   p)    subtype(p) = (quarterword) (subtype(p) |GLYPH_GHOST)

Definition at line 791 of file texnodes.h.

◆ set_is_glyph

#define set_is_glyph (   p)    subtype(p) = (quarterword) (subtype(p) & ~GLYPH_CHARACTER)

Definition at line 788 of file texnodes.h.

◆ set_is_leftboundary

#define set_is_leftboundary (   p)    { set_to_ligature(p); subtype(p) |= GLYPH_LEFT; }

Definition at line 798 of file texnodes.h.

◆ set_is_leftghost

#define set_is_leftghost (   p)    { set_to_ghost(p); subtype(p) |= GLYPH_LEFT; }

Definition at line 800 of file texnodes.h.

◆ set_is_ligature

#define set_is_ligature (   p)    subtype(p) = (quarterword) (subtype(p) | GLYPH_LIGATURE)

Definition at line 790 of file texnodes.h.

◆ set_is_rightboundary

#define set_is_rightboundary (   p)    { set_to_ligature(p); subtype(p) |= GLYPH_RIGHT; }

Definition at line 799 of file texnodes.h.

◆ set_is_rightghost

#define set_is_rightghost (   p)    { set_to_ghost(p); subtype(p) |= GLYPH_RIGHT; }

Definition at line 801 of file texnodes.h.

◆ set_to_character

#define set_to_character (   p)    subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_CHARACTER)

Definition at line 794 of file texnodes.h.

◆ set_to_ghost

#define set_to_ghost (   p)    subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_GHOST)

Definition at line 796 of file texnodes.h.

◆ set_to_glyph

#define set_to_glyph (   p)    subtype(p) = (quarterword)(subtype(p) & 0xFF00)

Definition at line 793 of file texnodes.h.

◆ set_to_ligature

#define set_to_ligature (   p)    subtype(p) = (quarterword)((subtype(p) & 0xFF00) | GLYPH_LIGATURE)

Definition at line 795 of file texnodes.h.

◆ sfi_glue

Definition at line 1113 of file texnodes.h.

◆ shift_amount

#define shift_amount (   a)    vlink((a)+5)

Definition at line 285 of file texnodes.h.

◆ shrink

#define shrink (   a)    vinfo((a)+3)

Definition at line 163 of file texnodes.h.

◆ shrink_order

#define shrink_order (   a)    vlink((a)+4)

Definition at line 166 of file texnodes.h.

◆ shrinking

#define shrinking   2

Definition at line 1134 of file texnodes.h.

◆ small_char

#define small_char (   A)    vlink((A)+2) /* |character| for ``small'' delimiter */

Definition at line 699 of file texnodes.h.

◆ small_fam

#define small_fam (   A)    vinfo((A)+2) /* |fam| for ``small'' delimiter */

Definition at line 698 of file texnodes.h.

◆ span_count

#define span_count   subtype

Definition at line 298 of file texnodes.h.

◆ span_link

#define span_link (   a)    vinfo((a)+1)

Definition at line 496 of file texnodes.h.

◆ span_node_size

#define span_node_size   3

Definition at line 494 of file texnodes.h.

◆ span_span

#define span_span (   a)    vlink((a)+1)

Definition at line 495 of file texnodes.h.

◆ special_node_size

#define special_node_size   3

Definition at line 813 of file texnodes.h.

◆ split_top_ptr

#define split_top_ptr (   a)    vlink((a)+5)

Definition at line 392 of file texnodes.h.

◆ ss_glue

Definition at line 1116 of file texnodes.h.

◆ stretch

#define stretch (   a)    vlink((a)+3)

Definition at line 164 of file texnodes.h.

◆ stretch_order

#define stretch_order (   a)    vinfo((a)+4)

Definition at line 165 of file texnodes.h.

◆ stretching

#define stretching   1

Definition at line 1133 of file texnodes.h.

◆ style_node_size

#define style_node_size   4

Definition at line 511 of file texnodes.h.

◆ subscr

#define subscr (   a)    vinfo((a)+3) /* the |subscr| field of a noad */

Definition at line 530 of file texnodes.h.

◆ subtype

#define subtype (   a)    varmem[(a)].hh.u.B1

Definition at line 49 of file texnodes.h.

◆ supscr

#define supscr (   a)    vlink((a)+3) /* the |supscr| field of a noad */

Definition at line 529 of file texnodes.h.

◆ surround

#define surround (   a)    vinfo((a)+5)

Definition at line 385 of file texnodes.h.

◆ synctex_line_box

#define synctex_line_box (   a)    vlink((a)+8)

Definition at line 292 of file texnodes.h.

◆ synctex_line_glue

#define synctex_line_glue (   a)    vlink((a)+6)

Definition at line 169 of file texnodes.h.

◆ synctex_line_glyph

#define synctex_line_glyph (   a)    vlink((a)+6)

Definition at line 343 of file texnodes.h.

◆ synctex_line_kern

#define synctex_line_kern (   a)    vlink((a)+4)

Definition at line 244 of file texnodes.h.

◆ synctex_line_math

#define synctex_line_math (   a)    vlink((a)+6)

Definition at line 387 of file texnodes.h.

◆ synctex_line_rule

#define synctex_line_rule (   a)    vlink((a)+8)

Definition at line 320 of file texnodes.h.

◆ synctex_tag_box

#define synctex_tag_box (   a)    vinfo((a)+8)

Definition at line 291 of file texnodes.h.

◆ synctex_tag_glue

#define synctex_tag_glue (   a)    vinfo((a)+6)

Definition at line 168 of file texnodes.h.

◆ synctex_tag_glyph

#define synctex_tag_glyph (   a)    vinfo((a)+6)

Definition at line 342 of file texnodes.h.

◆ synctex_tag_kern

#define synctex_tag_kern (   a)    vinfo((a)+4)

Definition at line 243 of file texnodes.h.

◆ synctex_tag_math

#define synctex_tag_math (   a)    vinfo((a)+6)

Definition at line 386 of file texnodes.h.

◆ synctex_tag_rule

#define synctex_tag_rule (   a)    vinfo((a)+8)

Definition at line 319 of file texnodes.h.

◆ temp_head

#define temp_head   page_head+temp_node_size

Definition at line 1122 of file texnodes.h.

◆ temp_node_size

#define temp_node_size   2

Definition at line 60 of file texnodes.h.

◆ text_mlist

#define text_mlist (   a)    vlink((a)+2) /* mlist to be used in text style */

Definition at line 513 of file texnodes.h.

◆ thickness

#define thickness (   a)    vlink((a)+2) /* |thickness| field in a fraction noad */

Definition at line 649 of file texnodes.h.

◆ tlink

#define tlink (   a)    vinfo((a)+1) /* overlaps with node_attr() */

Definition at line 56 of file texnodes.h.

◆ tlink_no_break

#define tlink_no_break (   a)    tlink(no_break_head(a))

Definition at line 232 of file texnodes.h.

◆ tlink_post_break

#define tlink_post_break (   a)    tlink(post_break_head(a))

Definition at line 231 of file texnodes.h.

◆ tlink_pre_break

#define tlink_pre_break (   a)    tlink(pre_break_head(a))

Definition at line 230 of file texnodes.h.

◆ top_accent_chr

#define top_accent_chr (   a)    vinfo((a)+6) /* the |top_accent_chr| field of an accent noad */

Definition at line 561 of file texnodes.h.

◆ total_demerits

#define total_demerits (   a)    varmem[(a)+2].cint /* the quantity that \TeX\ minimizes */

Definition at line 983 of file texnodes.h.

◆ try_couple_nodes

#define try_couple_nodes (   a,
  b 
)    if (b==null) vlink(a)=b; else {couple_nodes(a,b);}

Definition at line 1005 of file texnodes.h.

◆ type

#define type (   a)    varmem[(a)].hh.u.B0

Definition at line 48 of file texnodes.h.

◆ uncouple_node

#define uncouple_node (   a)    {assert(a!=null);vlink(a)=null;alink(a)=null;}

Definition at line 1006 of file texnodes.h.

◆ UNUSED_ATTRIBUTE

#define UNUSED_ATTRIBUTE   -0x7FFFFFFF /* as low as it goes */

Definition at line 64 of file texnodes.h.

◆ user_defined_node_size

#define user_defined_node_size   4

Definition at line 972 of file texnodes.h.

◆ user_node_id

#define user_node_id (   a)    vlink((a)+2)

Definition at line 974 of file texnodes.h.

◆ user_node_type

#define user_node_type (   a)    vinfo((a)+2)

Definition at line 973 of file texnodes.h.

◆ user_node_value

#define user_node_value (   a)    vinfo((a)+3)

Definition at line 975 of file texnodes.h.

◆ var_mem_stat_max

#define var_mem_stat_max   (end_point+glyph_node_size-1)

Definition at line 1131 of file texnodes.h.

◆ varmemcast

#define varmemcast (   a)    (memory_word *)(a)

Definition at line 26 of file texnodes.h.

◆ vinfo

#define vinfo (   a)    varmem[(a)].hh.v.LH

Definition at line 46 of file texnodes.h.

◆ vlink

#define vlink (   a)    varmem[(a)].hh.v.RH

Definition at line 47 of file texnodes.h.

◆ vlink_no_break

#define vlink_no_break (   a)    vlink(no_break_head(a))

Definition at line 228 of file texnodes.h.

◆ vlink_post_break

#define vlink_post_break (   a)    vlink(post_break_head(a))

Definition at line 227 of file texnodes.h.

◆ vlink_pre_break

#define vlink_pre_break (   a)    vlink(pre_break_head(a))

Definition at line 226 of file texnodes.h.

◆ width

#define width (   a)    varmem[(a)+2].cint

Definition at line 282 of file texnodes.h.

◆ width_offset

#define width_offset   2

Definition at line 94 of file texnodes.h.

◆ write_node_size

#define write_node_size   3

Definition at line 828 of file texnodes.h.

◆ write_stream

#define write_stream (   a)    vinfo(a+2)

Definition at line 831 of file texnodes.h.

◆ write_tokens

#define write_tokens (   a)    vlink(a+2)

Definition at line 830 of file texnodes.h.

◆ x_displace

#define x_displace (   a)    vinfo((a)+4)

Definition at line 338 of file texnodes.h.

◆ y_displace

#define y_displace (   a)    vlink((a)+4)

Definition at line 339 of file texnodes.h.

◆ zero_glue [1/2]

#define zero_glue   0

Definition at line 1112 of file texnodes.h.

◆ zero_glue [2/2]

#define zero_glue   0

Definition at line 1112 of file texnodes.h.

Typedef Documentation

◆ field_info

typedef struct _field_info field_info

◆ node_info

typedef struct _node_info node_info

◆ subtype_info

typedef struct _subtype_info subtype_info

Enumeration Type Documentation

◆ boundary_subtypes

Enumerator
cancel_boundary 
user_boundary 
protrusion_boundary 
word_boundary 

Definition at line 803 of file texnodes.h.

◆ colorstack_commands

Enumerator
colorstack_set 
colorstack_push 
colorstack_pop 
colorstack_current 

Definition at line 959 of file texnodes.h.

◆ ctm_transform_modes

Enumerator
set_origin 
direct_page 
direct_always 
direct_raw 
direct_text 
direct_font 
scan_special 

Definition at line 865 of file texnodes.h.

◆ delimiter_modes

Enumerator
noad_delimiter_mode_noshift 
noad_delimiter_mode_italics 
noad_delimiter_mode_ordinal 
noad_delimiter_mode_samenos 
noad_delimiter_mode_charnos 

Definition at line 615 of file texnodes.h.

◆ delimiter_options

Enumerator
noad_option_set 
noad_option_unused_1 
noad_option_unused_2 
noad_option_axis 
noad_option_no_axis 
noad_option_exact 
noad_option_left 
noad_option_middle 
noad_option_right 
noad_option_no_sub_script 
noad_option_no_super_script 
noad_option_no_script 
noad_option_no_rule 

Definition at line 587 of file texnodes.h.

◆ dir_subtypes

Enumerator
normal_dir 
cancel_dir 

Definition at line 815 of file texnodes.h.

◆ discretionary_subtypes

Enumerator
discretionary_disc 
explicit_disc 
automatic_disc 
syllable_disc 
init_disc 
select_disc 

Definition at line 207 of file texnodes.h.

◆ fence_subtypes

Enumerator
unset_noad_side 
left_noad_side 
middle_noad_side 
right_noad_side 
no_noad_side 

Definition at line 638 of file texnodes.h.

◆ glue_orders

Enumerator
normal_g 
sfi 
fil 
fill 
filll 

Definition at line 1104 of file texnodes.h.

◆ glue_subtypes

Enumerator
user_skip_glue 
line_skip_glue 
baseline_skip_glue 
par_skip_glue 
above_display_skip_glue 
below_display_skip_glue 
above_display_short_skip_glue 
below_display_short_skip_glue 
left_skip_glue 
right_skip_glue 
top_skip_glue 
split_top_skip_glue 
tab_skip_glue 
space_skip_glue 
xspace_skip_glue 
par_fill_skip_glue 
math_skip_glue 
thin_mu_skip_glue 
med_mu_skip_glue 
thick_mu_skip_glue 
cond_math_glue 
mu_glue 
a_leaders 
c_leaders 
x_leaders 
g_leaders 

Definition at line 99 of file texnodes.h.

◆ glyph_subtypes

Enumerator
glyph_unset 
glyph_character 
glyph_ligature 
glyph_ghost 
glyph_left 
glyph_right 

Definition at line 767 of file texnodes.h.

◆ kern_subtypes

Enumerator
font_kern 
explicit_kern 
accent_kern 
italic_kern 

Definition at line 234 of file texnodes.h.

◆ list_subtypes

Enumerator
unknown_list 
line_list 
hbox_list 
indent_list 
align_row_list 
align_cell_list 
equation_list 
equation_number_list 
math_list_list 
math_char_list 
math_h_extensible_list 
math_v_extensible_list 
math_h_delimiter_list 
math_v_delimiter_list 
math_over_delimiter_list 
math_under_delimiter_list 
math_numerator_list 
math_denominator_list 
math_limits_list 
math_fraction_list 
math_nucleus_list 
math_sup_list 
math_sub_list 
math_degree_list 
math_scripts_list 
math_over_list 
math_under_list 
math_accent_list 
math_radical_list 

Definition at line 250 of file texnodes.h.

◆ margin_kern_subtypes

Enumerator
left_side 
right_side 

Definition at line 367 of file texnodes.h.

◆ math_accent_subtypes

Enumerator
bothflexible_accent 
fixedtop_accent 
fixedbottom_accent 
fixedboth_accent 

Definition at line 566 of file texnodes.h.

◆ math_subtypes

Enumerator
before 
after 

Definition at line 372 of file texnodes.h.

◆ noad_types

enum noad_types
Enumerator
ord_noad_type 
op_noad_type_normal 
op_noad_type_limits 
op_noad_type_no_limits 
bin_noad_type 
rel_noad_type 
open_noad_type 
close_noad_type 
punct_noad_type 
inner_noad_type 
under_noad_type 
over_noad_type 
vcenter_noad_type 

Definition at line 542 of file texnodes.h.

◆ node_types

enum node_types
Enumerator
hlist_node 
vlist_node 
rule_node 
ins_node 
mark_node 
adjust_node 
boundary_node 
disc_node 
whatsit_node 
local_par_node 
dir_node 
math_node 
glue_node 
kern_node 
penalty_node 
unset_node 
style_node 
choice_node 
simple_noad 
radical_noad 
fraction_noad 
accent_noad 
fence_noad 
math_char_node 
sub_box_node 
sub_mlist_node 
math_text_char_node 
delim_node 
margin_kern_node 
glyph_node 
align_record_node 
pseudo_file_node 
pseudo_line_node 
inserting_node 
split_up_node 
expr_node 
nesting_node 
span_node 
attribute_node 
glue_spec_node 
attribute_list_node 
temp_node 
align_stack_node 
movement_node 
if_node 
unhyphenated_node 
hyphenated_node 
delta_node 
passive_node 
shape_node 

Definition at line 398 of file texnodes.h.

◆ pdf_action_type

Enumerator
pdf_action_page 
pdf_action_goto 
pdf_action_thread 
pdf_action_user 

Definition at line 936 of file texnodes.h.

◆ pdf_window_type

Enumerator
pdf_window_notset 
pdf_window_new 
pdf_window_nonew 

Definition at line 943 of file texnodes.h.

◆ penalty_subtypes

Enumerator
user_penalty 
linebreak_penalty 
line_penalty 
word_penalty 
final_penalty 
noad_penalty 
before_display_penalty 
after_display_penalty 
equation_number_penalty 

Definition at line 139 of file texnodes.h.

◆ radical_subtypes

Enumerator
radical_noad_type 
uradical_noad_type 
uroot_noad_type 
uunderdelimiter_noad_type 
uoverdelimiter_noad_type 
udelimiterunder_noad_type 
udelimiterover_noad_type 

Definition at line 677 of file texnodes.h.

◆ rule_subtypes

Enumerator
normal_rule 
box_rule 
image_rule 
empty_rule 
user_rule 
math_over_rule 
math_under_rule 
math_fraction_rule 
math_radical_rule 
outline_rule 

Definition at line 300 of file texnodes.h.

◆ whatsit_types

Enumerator
open_node 
write_node 
close_node 
special_node 
use_box_resource_node 
use_image_resource_node 
save_pos_node 
late_lua_node 
user_defined_node 
dvi_literal_node 
pdf_literal_node 
pdf_refobj_node 
pdf_annot_node 
pdf_start_link_node 
pdf_end_link_node 
pdf_dest_node 
pdf_action_node 
pdf_thread_node 
pdf_start_thread_node 
pdf_end_thread_node 
pdf_thread_data_node 
pdf_link_data_node 
pdf_colorstack_node 
pdf_setmatrix_node 
pdf_save_node 
pdf_restore_node 
pdf_link_state_node 

Definition at line 707 of file texnodes.h.

Function Documentation

◆ actual_box_width()

pointer actual_box_width ( pointer  r,
scaled  base_width 
)

Definition at line 4272 of file texnodes.c.

References get_actual_box_width(), list_ptr, r, and shift_amount.

Referenced by enter_display_math().

◆ build_attribute_list()

◆ check_node()

◆ check_node_wrapup_dvi()

void check_node_wrapup_dvi ( halfword  p)

Definition at line 2526 of file texnodes.c.

Referenced by check_node().

◆ check_node_wrapup_pdf()

◆ copy_attribute_list()

halfword copy_attribute_list ( halfword  n)

◆ copy_node()

halfword copy_node ( const  halfword)

Definition at line 2030 of file texnodes.c.

References accent_noad, add_node_attr_ref, add_token_ref, adjust_node, adjust_ptr, alink, assert(), backend_first_dvi_whatsit, backend_first_pdf_whatsit, bot_accent_chr, boundary_node, choice_node, copy_error(), copy_node_list(), copy_node_wrapup_core(), copy_node_wrapup_dvi(), copy_node_wrapup_pdf(), copy_sub_list, copy_sub_node, cur_input, degree, delimiter, denominator, dir_node, disc_node, display_mlist, fence_noad, fraction_noad, get_node(), get_node_size, glue_node, glue_spec_node, glyph_node, hlist_node, i, ins_node, ins_ptr, kern_node, leader_ptr, left_delimiter, lig_ptr, line, list_ptr, local_box_left, local_box_right, local_par_node, lua_properties_copy, margin_char, margin_kern_node, mark_node, mark_ptr, math_list, math_node, memcpy, new_node(), no_break, no_break_head, node_attr, nodetype_has_attributes, nucleus, numerator, overlay_accent_chr, p, post_break, post_break_head, pre_break, pre_break_head, r, radical_noad, right_delimiter, s, script_mlist, script_script_mlist, simple_noad, sub_box_node, sub_mlist_node, subscr, subtype, supscr, synctex_anyway_mode, synctex_line_kern, synctex_line_math, synctex_par, synctex_tag_kern, synctex_tag_math, t, tail_of_list(), temp_node, text_mlist, tlink, tlink_no_break, tlink_post_break, tlink_pre_break, top_accent_chr, type, unset_node, varmem, vlink, vlink_no_break, vlink_post_break, vlink_pre_break, vlist_node, void, w, and whatsit_node.

Referenced by append_link(), do_copy_node_list(), do_push_dir_node(), getmuskip(), getskip(), handle_lig_word(), list_node_mem_usage(), lua_nodelib_copy(), lua_nodelib_direct_copy(), new_spec(), setglue(), setmuglue(), settex(), and try_ligature().

◆ copy_node_list()

halfword copy_node_list ( halfword  p)

Definition at line 1928 of file texnodes.c.

References do_copy_node_list(), and p.

Referenced by copy_node(), copy_node_wrapup_core(), and make_local_par_node().

◆ copy_node_wrapup_dvi()

void copy_node_wrapup_dvi ( halfword  p,
halfword  r 
)

Definition at line 1989 of file texnodes.c.

Referenced by copy_node().

◆ copy_node_wrapup_pdf()

◆ current_attribute_list()

◆ delete_attribute_ref()

◆ do_copy_node_list()

halfword do_copy_node_list ( halfword  p,
halfword  end 
)

◆ do_set_attribute()

halfword do_set_attribute ( halfword  p,
int  i,
int  val 
)

◆ dump_node_mem()

void dump_node_mem ( void  )

◆ fix_node_list()

halfword fix_node_list ( halfword  head)

◆ flush_node()

void flush_node ( halfword  p)

Definition at line 2321 of file texnodes.c.

References accent_noad, adjust_node, adjust_ptr, align_stack_node, attribute_list_node, attribute_node, backend_first_dvi_whatsit, backend_first_pdf_whatsit, bot_accent_chr, boundary_node, break, choice_node, degree, delete_attribute_ref(), delete_token_ref(), delim_node, delimiter, delta_node, denominator, dir_node, disc_node, display_mlist, expr_node, fence_noad, flush_node_list(), flush_node_wrapup_core(), flush_node_wrapup_dvi(), flush_node_wrapup_pdf(), formatted_error(), fraction_noad, free_error(), free_node(), free_sub_list, free_sub_node, get_node_size, glue_node, glue_spec_node, glyph_node, hlist_node, hyphenated_node, if_node, ins_node, ins_ptr, inserting_node, kern_node, leader_ptr, left_delimiter, lig_ptr, list_ptr, local_box_left, local_box_right, local_par_node, lua_properties_reset, margin_char, margin_kern_node, mark_node, mark_ptr, math_char_node, math_list, math_node, math_text_char_node, movement_node, nesting_node, no_break, node_attr, nodetype_has_attributes, nucleus, numerator, overlay_accent_chr, p, passive_node, penalty_node, post_break, pre_break, pseudo_file_node, pseudo_line_node, pseudo_lines, radical_noad, right_delimiter, rule_node, script_mlist, script_script_mlist, shape_node, simple_noad, span_node, split_up_node, style_node, sub_box_node, sub_mlist_node, subscr, subtype, supscr, temp_node, text_mlist, top_accent_chr, type, unhyphenated_node, unset_node, vlink, vlist_node, w, and whatsit_node.

Referenced by append_glue(), assign_new_hlist(), build_page(), clean_box(), close_math_group(), coerce_glue(), do_delimiter(), do_exception(), do_handle_kerning(), do_pop_dir_node(), do_register_command(), do_scan_internal(), downgrade_cur_val(), end_graf(), enter_display_math(), eq_destroy(), ext_try_break(), fin_align(), final_cleanup(), finish_displayed_math(), fire_up(), fixup_directions(), fixup_directions_only(), flush_node_list(), font_tex_direct_kerning(), font_tex_direct_ligaturing(), font_tex_kerning(), font_tex_ligaturing(), handle_lig_word(), handle_right_brace(), hnj_hyphenation(), hpack(), line_break(), lua_nodelib_direct_flatten_discretionaries(), lua_nodelib_direct_flush_node(), lua_nodelib_direct_free(), lua_nodelib_flatten_discretionaries(), lua_nodelib_flush_node(), lua_nodelib_free(), main_body(), make_math_accent(), make_op(), make_ord(), make_radical(), make_scripts(), mlist_to_hlist(), new_ligkern(), pdf_end_page(), pop_alignment(), pop_condition_stack(), pop_nest(), print_bead_rectangles(), prune_movements(), pseudo_close(), pseudo_input(), rebox(), scan_expr(), short_scan_something_internal(), tex_run_linebreak(), the_scanned_result(), the_toks(), unpackage(), and vsplit().

◆ flush_node_list()

void flush_node_list ( halfword  pp)

Definition at line 2471 of file texnodes.c.

References flush_node(), free_error(), lua_properties_pop, lua_properties_push, p, pp, q, and vlink.

Referenced by flush_node(), and flush_node_wrapup_core().

◆ flush_node_wrapup_dvi()

void flush_node_wrapup_dvi ( halfword  p)

Definition at line 2259 of file texnodes.c.

Referenced by flush_node().

◆ flush_node_wrapup_pdf()

◆ free_node()

void free_node ( halfword  p,
int  s 
)

◆ get_node()

◆ glyph_depth()

scaled glyph_depth ( halfword  p)

Definition at line 4522 of file texnodes.c.

References char_depth, character, d, font, glyph_dimensions_par, p, y, and y_displace.

◆ glyph_height()

scaled glyph_height ( halfword  p)

Definition at line 4511 of file texnodes.c.

References char_height, character, font, glyph_dimensions_par, h, p, y, and y_displace.

◆ glyph_width()

scaled glyph_width ( halfword  p)

◆ has_attribute()

int has_attribute ( halfword  n,
int  c,
int  w 
)

◆ init_node_mem()

◆ l_set_node_data()

void l_set_node_data ( void  )

Definition at line 495 of file texnodes.c.

References above_display_short_skip_glue, above_display_skip_glue, accent, accent_kern, accent_noad, adjust, adjust_node, after, after_display_penalty, align_cell_list, align_record_node, align_row_list, align_stack_node, alignment, attribute, attribute_list_node, attribute_node, automatic, automatic_disc, baseline_skip_glue, before, before_display_penalty, below_display_short_skip_glue, below_display_skip_glue, best_ins_ptr, bin_noad_type, bothflexible_accent, boundary_node, box_rule, box_there, broken_ins, broken_ptr, cancel(), cancel_boundary, cancel_dir, character, choice, choice_node, close, close_noad_type, data, degree, delim, delim_node, delta, delta_node, denominator, depth, dir, dir_node, disc_node, discretionary, discretionary_disc, empty, empty_rule, equation_list, equation_number_list, equation_number_penalty, explicit_disc, explicit_kern, expr_node, fam, fence_noad, fil, fill, filll, final_penalty, first, fixedboth_accent, fixedbottom_accent, fixedtop_accent, font_kern, fraction_noad, glue_node, glue_order, glue_set, glue_sign, glue_spec_node, glyph_node, hbox_list, height, hlist_node, hyphenated, hyphenated_node, if_node, if_stack, image_rule, indent, indent_list, init_disc, init_field_key, init_field_nop, init_node_key, inner_noad_type, ins, ins_node, inserting_node, inserts_only, italic, italic_kern, kern_node, lang, large_char, large_fam, last_ins_ptr, left_noad_side, left_side, left_skip_glue, level, limits, line_list, line_penalty, line_skip_glue, linebreak_penalty, local_par_node, margin_kern_node, mark, mark_node, math_accent_list, math_char, math_char_list, math_char_node, math_degree_list, math_denominator_list, math_fraction_list, math_fraction_rule, math_h_delimiter_list, math_h_extensible_list, math_limits_list, math_list_list, math_node, math_nucleus_list, math_numerator_list, math_over_delimiter_list, math_over_list, math_over_rule, math_radical_list, math_radical_rule, math_scripts_list, math_skip_glue, math_sub_list, math_sup_list, math_text_char, math_text_char_node, math_under_delimiter_list, math_under_list, math_under_rule, math_v_delimiter_list, math_v_extensible_list, med_mu_skip_glue, middle, middle_noad_side, movement_node, nesting_node, no, no_noad_side, noad_penalty, node_data, node_fields_accent, node_fields_adjust, node_fields_attribute, node_fields_attribute_list, node_fields_boundary, node_fields_choice, node_fields_delim, node_fields_dir, node_fields_disc, node_fields_fence, node_fields_fraction, node_fields_glue, node_fields_glue_spec, node_fields_glyph, node_fields_insert, node_fields_inserting, node_fields_kern, node_fields_list, node_fields_local_par, node_fields_margin_kern, node_fields_mark, node_fields_math, node_fields_math_char, node_fields_math_text_char, node_fields_noad, node_fields_penalty, node_fields_radical, node_fields_rule, node_fields_splitup, node_fields_style, node_fields_sub_box, node_fields_sub_mlist, node_fields_unset, node_subtypes_accent, node_subtypes_adjust, node_subtypes_boundary, node_subtypes_dir, node_subtypes_disc, node_subtypes_fence, node_subtypes_glue, node_subtypes_glyph, node_subtypes_kern, node_subtypes_leader, node_subtypes_list, node_subtypes_marginkern, node_subtypes_math, node_subtypes_mathglue, node_subtypes_noad,