de.dante.extex.interpreter.primitives.typesetter.box
Class Vbox

java.lang.Object
  extended byde.dante.extex.interpreter.type.AbstractCode
      extended byde.dante.extex.interpreter.primitives.typesetter.box.AbstractBoxPrimitive
          extended byde.dante.extex.interpreter.primitives.typesetter.box.Vbox
All Implemented Interfaces:
Boxable, BoxOrRule, Code, Localizable, java.io.Serializable
Direct Known Subclasses:
Vtop

public class Vbox
extends AbstractBoxPrimitive

This class provides an implementation for the primitive \vbox.

The Primitive \vbox

The primitive \vbox constructs a box of vertical material. Any boxes added to the vertical box are put below the boxes already contained. The reference point of the last box contained is used for the whole vertical box. The height may be adjusted if requested.

The contents of the toks register \everyvbox is inserted at the beginning of the vertical material of the box.

Syntax

The formal description of this primitive is the following:
    ⟨vbox⟩
      → \vbox ⟨box specification⟩ { ⟨vertical material⟩ }

    ⟨box specification⟩
      →
         | to ⟨rule dimension⟩
         | spread ⟨rule dimension⟩  

Examples

    \vbox{abc}  
    \vbox to 120pt{abc}  
    \vbox spread 12pt{abc}  

The Tokens Parameter \everyvbox

The tokens parameter is used in \vbox. The tokens contained are inserted at the beginning of the vertical material of the vbox.

Syntax

The formal description of this primitive is the following:
    ⟨everyvbox⟩
      → \everyvbox ⟨equals⟩ ⟨tokens⟩  

Examples

    \everyvbox{\message{Hi there}}  

Version:
$Revision: 1.27 $
Author:
Gerd Neugebauer
See Also:
Serialized Form

Field Summary
protected static long serialVersionUID
          The constant serialVersionUID contains the id for serialization.
 
Constructor Summary
Vbox(java.lang.String name)
          Creates a new object.
 
Method Summary
protected  Box acquireBox(Context context, TokenSource source, Typesetter typesetter, GroupType groupType, Token startToken)
          Acquire a complete Box taking into account the tokens in \afterassignment and \everyvbox.
protected  Box constructBox(Context context, TokenSource source, Typesetter typesetter, Token startToken)
          Acquire a Box and adjust its height and depth according to the rules required.
 Box getBox(Context context, TokenSource source, Typesetter typesetter)
          Getter for the content as Box.
 
Methods inherited from class de.dante.extex.interpreter.primitives.typesetter.box.AbstractBoxPrimitive
execute
 
Methods inherited from class de.dante.extex.interpreter.type.AbstractCode
enableLocalization, getLocalizer, getName, isIf, isOuter, printable, printableControlSequence, readResolve, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

protected static final long serialVersionUID
The constant serialVersionUID contains the id for serialization.

See Also:
Constant Field Values
Constructor Detail

Vbox

public Vbox(java.lang.String name)
Creates a new object.

Parameters:
name - the name for debugging
Method Detail

getBox

public Box getBox(Context context,
                  TokenSource source,
                  Typesetter typesetter)
           throws InterpreterException
Description copied from interface: Boxable
Getter for the content as Box.

Parameters:
context - the interpreter context
source - the source for new tokens
typesetter - the typesetter to use
Returns:
an appropriate Box
Throws:
InterpreterException - in case of an error
See Also:
Boxable.getBox( de.dante.extex.interpreter.context.Context, de.dante.extex.interpreter.TokenSource, de.dante.extex.typesetter.Typesetter)

constructBox

protected Box constructBox(Context context,
                           TokenSource source,
                           Typesetter typesetter,
                           Token startToken)
                    throws InterpreterException
Acquire a Box and adjust its height and depth according to the rules required.

For a \vbox the alignment takes the last box contained and uses its reference point. The depth is preserved and the height is adjusted if required.

Parameters:
context - the interpreter context
source - the source for new tokens
typesetter - the typesetter
startToken - the token which started the group
Returns:
the complete Box
Throws:
InterpreterException - in case of an error

acquireBox

protected Box acquireBox(Context context,
                         TokenSource source,
                         Typesetter typesetter,
                         GroupType groupType,
                         Token startToken)
                  throws InterpreterException
Acquire a complete Box taking into account the tokens in \afterassignment and \everyvbox.

Parameters:
context - the interpreter context
source - the source for new tokens
typesetter - the typesetter
groupType - the group type
startToken - the token which started the group
Returns:
the complete Box
Throws:
InterpreterException - in case of an error