Difference between revisions of "Dimensions"

From Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=== \definemeasure ===
 
=== \definemeasure ===
Diese Möglichkeit zieht Wolfgang Schuster vor!
 
 
  \setupexternalfigures[location={local,global,default}]
 
  \setupexternalfigures[location={local,global,default}]
 
   
 
   

Revision as of 20:51, 22 April 2013

\definemeasure

\setupexternalfigures[location={local,global,default}]

\definemeasure[ColumnC][30mm]
\definemeasure[ColumnD][40mm]
\definemeasure[ColumnCD][\the\dimexpr(\measure{ColumnC}+\measure{ColumnD})\relax]

C \measure{ColumnC}

D \measure{ColumnD}

CD \measure{ColumnCD}

\externalfigure[cow][width=\measure{ColumnCD}]

\defineexpandable

\setupexternalfigures[location={local,global,default}]

\defineexpandable\ColumnA    {30mm}
\defineexpandable\ColumnB    {40mm}
\defineexpandable\ColumnAB    {\the\dimexpr(\ColumnA + \ColumnB)\relax}

A  \ColumnA

B  \ColumnB

AB: \ColumnAB

\externalfigure[cow][width=\ColumnAB]

\newdimen

\setupexternalfigures[location={local,global,default}]

\defineexpandable\ColumnA    {30mm}
\defineexpandable\ColumnB    {40mm}
\newdimen\ColumnAB \ColumnAB=\dimexpr(\ColumnA + \ColumnB)

A  \ColumnA

B  \ColumnB

ColumnAB: \the\ColumnAB

\externalfigure[cow][width=\the\ColumnAB]

\externalfigure scheint auch ohne "\the" zu funktionieren.

\ctxlua

\setupexternalfigures[location={local,global,default}]

\defineexpandable\ColumnA    {30mm}
\defineexpandable\ColumnB    {40mm}

\defineexpandable\ColumnABii   {\ctxlua{context([==[\ColumnA + \ColumnB]==])}}

ColumnABii: \the\dimexpr \ColumnABii\relax

\externalfigure[cow][width=\dimexpr(\ColumnABii)\relax]

Sonstiges (problematisch)

\define\variableA {20mm}
\newdimen\variableB \variableB = 30mm

\variableA % kann direkt ausgegeben werden:

\variableA

\variableB % kann nicht direkt ausgegeben werden ... ist aber auch nicht nötig.

Bei \define ist die Berechnung einer neuen Variable mit \dimexpr nicht möglich, wohl aber in Befehlen, wie \externalfigure, z.B.

\externalfigure[cow][width=\variableA *2]

In \newdimen können Berechnungen mit \dimexpr vorgenommen und in eine neue Variable gespeichert werden:

\newdimen\variableC \variableC = \dimexpr(\variableB * 2)

\newdimen- und \define-Variable lassen sich wohl doch mischen. Das scheint falsch zu sein: \newdimen kann nicht mit Variablen rechnen, die mit \define festgelegt wurden.

Offene Fragen

\the
expand
\relax


Link-Text