|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.extex.interpreter.type.AbstractCode
org.extex.unit.etex.register.dimen.Dimenexpr
public class Dimenexpr
This class provides an implementation for the primitive
The primitive \dimenexpr provides a means to use a inline way of
writing mathematical expressions to be evaluated. Mathematical expressions
can be evaluated in
The mathematical expression to be evaluated can be made up of the basic
operations addition (+), subtraction (-), multiplication (*) with numbers,
and division(/) by numbers. The unary minus can be used. Parentheses can be
used for grouping. Anything which looks like a length can be used as
argument. White-space can be used freely without any harm.
The expression is terminated at the first token which can not be part of an
expression. For instance a letter may signal the end of the expression. If
the expression should terminate without a proper token following it, the
token \relax can be used to signal the end of the expression. This
\relax token is silently consumed by \dimenexpr.
The primitive \dimenexpr can be used in any place where a dimen is
required. This includes assignments to dimen registers and comparisons.
\dimenexpr.
The Primitive \dimenexpr
Syntax
The formal description of this primitive is the following:
〈dimenexpr〉
→ \dimenexpr 〈expr〉 \relax
| \dimenexpr 〈expr〉
〈expr〉
→ 〈operand〉
| 〈operand〉 + 〈expr〉
| 〈operand〉 - 〈expr〉
〈operand〉
→ 〈dimen〉
| 〈operand〉 * 〈number〉
| 〈number〉 * 〈operand〉
| 〈operand〉 / 〈number〉
| - 〈expr〉
| ( 〈expr〉 )
Examples
\count1=\dimenexpr 23pt \relax
\count1=\dimenexpr 2 * 3pt \relax
\count1=\dimenexpr 2pt*\count2
\count1=\dimenexpr 2*(1pt+3em)
\count1=\dimenexpr 2*-\dimen0
| Field Summary | |
|---|---|
protected static long |
serialVersionUID
The constant serialVersionUID contains the id for serialization. |
| Constructor Summary | |
|---|---|
Dimenexpr(CodeToken token)
Creates a new object. |
|
| Method Summary | |
|---|---|
long |
convertCount(Context context,
TokenSource source,
Typesetter typesetter)
This method converts a register into a count. |
long |
convertDimen(Context context,
TokenSource source,
Typesetter typesetter)
This method converts a register into a dimen. |
Tokens |
the(Context context,
TokenSource source,
Typesetter typesetter)
This method is the getter for the description of the primitive. |
| Methods inherited from class org.extex.interpreter.type.AbstractCode |
|---|
execute, getLocalizer, getName, getToken, isIf, isOuter, readResolve, toString, toText, toText |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final long serialVersionUID
| Constructor Detail |
|---|
public Dimenexpr(CodeToken token)
token - the initial token for the primitive| Method Detail |
|---|
public long convertCount(Context context,
TokenSource source,
Typesetter typesetter)
throws HelpingException,
TypesetterException
convertCount in interface CountConvertiblecontext - the interpreter contextsource - the source for new tokenstypesetter - the typesetter to use for conversion
HelpingException - in case of an error
TypesetterException - in case of an error in the typesetterCountConvertible.convertCount(
org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)
public long convertDimen(Context context,
TokenSource source,
Typesetter typesetter)
throws HelpingException,
TypesetterException
convertDimen in interface DimenConvertiblecontext - the interpreter contextsource - the source for new tokenstypesetter - the typesetter to use for conversion
HelpingException - in case of an error
TypesetterException - in case of an error in the typesetterDimenConvertible.convertDimen(
org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)
public Tokens the(Context context,
TokenSource source,
Typesetter typesetter)
throws HelpingException,
TypesetterException,
CatcodeException
the in interface Theablecontext - the interpreter contextsource - the source for further tokens to qualify the requesttypesetter - the typesetter to use
HelpingException - in case of an error
TypesetterException - in case of an error
CatcodeException - in case of an error in token creationTheable.the(
org.extex.interpreter.context.Context,
org.extex.interpreter.TokenSource, org.extex.typesetter.Typesetter)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||