de.dante.extex.typesetter.listMaker
Class VerticalListMaker

java.lang.Object
  extended byde.dante.extex.typesetter.listMaker.AbstractListMaker
      extended byde.dante.extex.typesetter.listMaker.InnerVerticalListMaker
          extended byde.dante.extex.typesetter.listMaker.VerticalListMaker
All Implemented Interfaces:
ListMaker

public class VerticalListMaker
extends InnerVerticalListMaker

This class provides a maker for a vertical list.

The Parameter \baselineskip

The parameter \baselineskip contains the desirable skip between lines. The depth of the first line is subtracted from this value to determine the automatic skip value to be inserted. If this value is less than the value of \lineskiplimit then the value of \lineskip is used instead.

The Parameter \lineskiplimit

The parameter \lineskiplimit contains the limit for the automatic inter line skip inserted. The automatic inter line skip is defendant on the value of the parameter \baselineskip. It the automatic inter line skip is less than \lineskiplimit the value of \lineskip is used instead.

The Parameter \lineskip

The parameter \lineskip contains the interline skip which is used when the adjacent lines would come together too close. This is the case when the interline glue inserted automatically is less than the value of \lineskiplimit.

Version:
$Revision: 1.25 $
Author:
Gerd Neugebauer, Michael Niedermair

Constructor Summary
VerticalListMaker(ListManager manager, Locator locator)
          Creates a new object.
 
Method Summary
 void addAndAdjust(NodeList nodes, TypesetterOptions context)
          
 Mode getMode()
          Getter for the current mode.
 
Methods inherited from class de.dante.extex.typesetter.listMaker.InnerVerticalListMaker
add, add, addSpace, afterParagraph, complete, cr, getLastNode, getPrevDepth, letter, par, removeLastNode, setPrevDepth, showlist, toString
 
Methods inherited from class de.dante.extex.typesetter.listMaker.AbstractListMaker
getLocalizer, getLocator, getManager, getMyLocalizer, getSpacefactor, leftBrace, mathShift, rightBrace, setSpacefactor, subscriptMark, superscriptMark, tab
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VerticalListMaker

public VerticalListMaker(ListManager manager,
                         Locator locator)
Creates a new object.

Parameters:
manager - the manager to ask for global changes
locator - the locator
Method Detail

addAndAdjust

public void addAndAdjust(NodeList nodes,
                         TypesetterOptions context)
                  throws TypesetterException,
                         ConfigurationException

679. When a box is being appended to the current vertical list, the baselineskip calculation is handled by the append_to_vlist routine.

   procedure append_to_vlist(b:pointer);
    var d: scaled;  {deficiency of space between baselines}
    p: pointer;  {a new glue specification}
 begin if prev_depth>ignore_depth then
    begin d ? width(baseline_skip)-prev_depth-height( b);
    if d<line_skip_limit then p ? new_param_glue(line_skip_code)
      else begin p ? new_skip_param(baseline_skip_code); width(temp_ptr) ? d;  {temp_ptr=glue_ptr(p)}
      end ;
    link(tail) ? p; tail ? p;
    end ;
 link(tail) ? b; tail ? b; prev_depth ? depth(b);
 end ;
  
 

Specified by:
addAndAdjust in interface ListMaker
Overrides:
addAndAdjust in class InnerVerticalListMaker
Throws:
TypesetterException
ConfigurationException
See Also:
ListMaker.addAndAdjust( de.dante.extex.typesetter.type.NodeList, de.dante.extex.typesetter.TypesetterOptions)

getMode

public Mode getMode()
Description copied from interface: ListMaker
Getter for the current mode.

Specified by:
getMode in interface ListMaker
Overrides:
getMode in class InnerVerticalListMaker
See Also:
InnerVerticalListMaker.getMode()