Changes

Jump to navigation Jump to search
new
<cd:commandgroup name="setupinterlinespace" xmlns:cd="http://wiki.contextgarden.net/commanddoc/20200807">
<cd:shortdesc><!-- a short command summary goes here -->
The command <tt>\setupinterlinespace</tt> is used to set the (general) baseline skip.
</cd:shortdesc>
<cd:variants>
<cd:command category="whitespace" file="spac-ver.mkiv" interfacedate="2020-06-19T13:41" interfacefile="i-interlinespace.xml" level="style" name="setupinterlinespace" variantnumber="1">
<cd:arguments>
<cd:keywords list="yes" optional="yes" ordinal="1">
<cd:keywordsdoc></cd:keywordsdoc>
<cd:constant type="cd:name"></cd:constant>
</cd:keywords>
<cd:assignments list="yes" ordinal="2">
<cd:assignmentsdoc></cd:assignmentsdoc>
<cd:parameter name="line">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:dimension"></cd:constant>
</cd:parameter>
<cd:parameter name="height">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="depth">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="minheight">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="mindepth">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="distance">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:dimension"></cd:constant>
</cd:parameter>
<cd:parameter name="top">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
<cd:constant type="height"></cd:constant>
</cd:parameter>
<cd:parameter name="bottom">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="stretch">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
<cd:parameter name="shrink">
<cd:paramdoc></cd:paramdoc>
<cd:constant type="cd:number"></cd:constant>
</cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
<cd:command category="whitespace" file="spac-ver.mkiv" interfacedate="2020-06-19T13:41" interfacefile="i-interlinespace.xml" level="style" name="setupinterlinespace" variant="argument" variantnumber="2">
<cd:arguments>
<cd:keywords list="yes" optional="yes" ordinal="1">
<cd:keywordsdoc></cd:keywordsdoc>
<cd:constant type="on"></cd:constant>
<cd:constant type="off"></cd:constant>
<cd:constant type="reset"></cd:constant>
<cd:constant type="auto"></cd:constant>
<cd:constant type="small"></cd:constant>
<cd:constant type="medium"></cd:constant>
<cd:constant type="big"></cd:constant>
<cd:constant type="cd:number"></cd:constant>
<cd:constant type="cd:dimension"></cd:constant>
</cd:keywords>
</cd:arguments>
</cd:command>
<cd:command category="whitespace" file="spac-ver.mkiv" interfacedate="2020-06-19T13:41" interfacefile="i-interlinespace.xml" level="style" name="setupinterlinespace" variant="name" variantnumber="3">
<cd:arguments>
<cd:keywords ordinal="1">
<cd:keywordsdoc></cd:keywordsdoc>
<cd:constant type="cd:name"></cd:constant>
</cd:keywords>
</cd:arguments>
</cd:command>
</cd:variants>
<cd:description>{{cmd|setupinterlinespace}} sets up the distance between lines. can be used in three variants:

* Without any keywords: <texcode>\setupinterlinespace</texcode> The command sets the baselineskip to the default value of <code>2.8ex</code>.
Use this after changing the font size.

* With a keyword: <texcode>\setupinterlinespace[KEYWORD]</texcode> The following keywords are available:
** reset
** small
** medium
** big
** on
** off

* Setting all the parameters involved in line positioning:
** <code>line</code>: base interline spacing (baselineskip) (e.g. 3ex or 12pt)
** <code>height</code>: size of strut as multiple of <code>line</code> (e.g. 0.72)
** <code>depth</code>: size of strut as multiple of <code>line</code> (e.g. 0.28)
** <code>top</code>: topskip (as multiple of line height)
** <code>bottom</code>: maxdepth (as multiple of line height)
** <code>stretch</code>: (glue) line stretching

Note that the `lineheight` as shown in {{cmd|showlayout}} is calculated from the `baselineskip`.
However, a `baselineskip` of `0` will result in a hardcoded value being used, so refrain from that.
If you want the `lineheight` to never exceed the font size,
use a very small value such as `1pt` for `line`.

When setting up the interlinespace, the unit matters:

<texcode>
% interline space adapts itself to body font size
\setupinterlinespace[line=2.8ex]

% set interlinespace to 12pt for every font size --- don’t do this!
\setupinterlinespace[line=12pt]

% set interlinespace for a particular body font size
% Useful if you think in terms of "nine-point type on eleven-point leading"
\definebodyfontenvironment[9pt][interlinespace=11pt]
</texcode>

A final note:
It seems that `\setupinterlinespace[line=XX\baselineskip]` interacts badly with {{cmd|setuplayout}} while `\setupinterlinespace[big]` works fine.
</cd:description>
<cd:examples><cd:example title="Call &lt;code&gt;\setupinterlinespace&lt;/code&gt; after a font change"><context source="yes">
\setupwhitespace[big]
Original baselineskip=\the\baselineskip

{ \definedfont[Serif at 12pt]
The interlinespace does not change automatically when the font changes\crlf
baselineskip=\the\baselineskip
}

{ \definedfont[Serif at 12pt]
\setupinterlinespace
Invoking setupinterlinespace sets baselineskip to 2.8ex of current font\crlf
baselineskip=\the\baselineskip
}

</context>
</cd:example><cd:example title="Example within {{cmd|startnarrower}}...{{cmd|stopnarrower}}"><context source="yes">
\setupinterlinespace[5] % this has no effect before \starttext

\starttext
\input tufte % this is default, not 5
\setupinterlinespace[big]
\input tufte % this is big

\startnarrower[left]
\setupinterlinespace[small]
\input tufte % this is small
\stopnarrower

\input tufte % this is big again
\stoptext
</context></cd:example></cd:examples>
<cd:notes></cd:notes>
<cd:seealso>
<cd:commandref name="defineinterlinespace" originator="system"></cd:commandref>
<cd:source file="spac-ver.mkiv" originator="system"></cd:source>
<cd:wikipage originator="system" page="Category:Whitespace"></cd:wikipage>
<cd:commandref name="setuplocalinterlinespace">to set interline spacing locally</cd:commandref>
<cd:commandref name="definebodyfontenvironment">with keyword [[Command/keyword:interlinespace|interlinespace]] to set interline spacing globally</cd:commandref>
<cd:commandref name="setupwhitespace">to set up inter-paragraph spacing</cd:commandref></cd:seealso>
</cd:commandgroup>

Navigation menu