Difference between revisions of "Command/setupinterlinespace"

From Wiki
Jump to navigation Jump to search
(Create reference page)
 
(Add notes about lineheight)
 
(22 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<!-- please remove this and the following line if you have checked this page -->
 
{{Reference_Cleanup}}
 
 
{{Reference
 
{{Reference
 
|name=setupinterlinespace
 
|name=setupinterlinespace
 
|attributes=
 
|attributes=
 
}}
 
}}
 +
 +
== [[Help:Reference|Syntax]] (autogenerated) ==
 +
<syntax>setupinterlinespace</syntax>
  
 
== [[Help:Reference|Syntax]] ==
 
== [[Help:Reference|Syntax]] ==
 
<table cellspacing="4" cellpadding="2" class="cmd">
 
<table cellspacing="4" cellpadding="2" class="cmd">
 
   <tr>
 
   <tr>
     <td colspan="2" class="cmd">\setupinterlinespace<span class="first" style="color:red;">[...]</span><span class="second" >|</span><span class="third" >[...,...=...,...]</span><span class="first" >|</span></td>
+
     <td colspan="2" class="cmd">\setupinterlinespace</td>
 +
  </tr>
 +
  <tr>
 +
    <td colspan="2" class="cmd">\setupinterlinespace<span class="first">[...]</span></td>
 +
  </tr>
 +
  <tr>
 +
    <td colspan="2" class="cmd">\setupinterlinespace<span class="third">[...,...=...,...]</span></td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="first">
 
   <tr valign="top" class="first">
Line 16: Line 23:
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="third">
 
   <tr valign="top" class="third">
     <td class="cmd">[[Reference/en/keyword:height|height]]</td>
+
     <td class="cmd">[[Command/keyword:height|height]]</td>
     <td>[[Reference/en/value:number|number]] </td>
+
     <td>[[Command/value:number|number]]</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="third">
 
   <tr valign="top" class="third">
     <td class="cmd">[[Reference/en/keyword:depth|depth]]</td>
+
     <td class="cmd">[[Command/keyword:depth|depth]]</td>
     <td>[[Reference/en/value:number|number]] </td>
+
     <td>[[Command/value:number|number]] </td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="third">
 
   <tr valign="top" class="third">
     <td class="cmd">[[Reference/en/keyword:line|line]]</td>
+
     <td class="cmd">[[Command/keyword:line|line]]</td>
     <td>[[Reference/en/value:dimension|dimension]] </td>
+
     <td>[[Command/value:dimension|dimension]] </td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="third">
 
   <tr valign="top" class="third">
     <td class="cmd">[[Reference/en/keyword:top|top]]</td>
+
     <td class="cmd">[[Command/keyword:top|top]]</td>
     <td>[[Reference/en/value:number|number]] </td>
+
     <td>[[Command/value:number|number]] </td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="third">
 
   <tr valign="top" class="third">
     <td class="cmd">[[Reference/en/keyword:bottom|bottom]]</td>
+
     <td class="cmd">[[Command/keyword:bottom|bottom]]</td>
     <td>[[Reference/en/value:number|number]] </td>
+
     <td>[[Command/value:number|number]] </td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
  
 +
== Description ==
  
== Description ==
+
{{cmd|setupinterlinespace}} sets up the distance between lines. can be used in three variants:
<pre>
 
can be used in 3 variants:
 
  
1. \setupinterlinespace
+
* Without any keywords: <texcode>\setupinterlinespace</texcode> The command sets the baselineskip to <code>2.8ex</code>.
  (without any param) set line=2.8ex
 
  
2. \setupinterlinespace[...]
+
* With a keyword: <texcode>\setupinterlinespace[KEYWORD]</texcode> The following keywords are available:
  reset
+
**  reset
  small
+
**  small
  medium
+
**  medium
  big
+
**  big
  on
+
**  on
  off
+
**  off
  
3. \setupinterlinespace[...,...=...,...]
+
* Setting all the parameters involved in line positioning:\setupinterlinespace[...,...=...,...]
  line:  base interline spacing (baselineskip) (e.g. 3ex or 12pt)
+
**  <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
  
  height: ration|size of strut (e.g. 0.72 or 9pt)
+
Note that the `lineheight` as shown in {{cmd|showlayout}} is calculated from the `baselineskip`.
  depth:  ration|size of strut (e.g. 0.28 or 3pt)
+
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`.
  
  top:   topskip amount
+
When setting up the interlinespace, the unit matters:
  bottom: maxdepth amount
 
  
  stretch: (glue) line stretching
+
<texcode>
 +
% interline space adapts itself to body font size
 +
\setupinterlinespace[line=2.8ex]
  
</pre>
+
% set interlinespace to 12pt for every font size --- don't do this!
== comment ==
+
\setupinterlinespace[line=12pt]
<pre>
 
It seems, that \setupinterlinespace[line=XX\baselineskip] interacts badly with \setuplayout while \setupinterlinespace[big] works fine.
 
</pre>
 
  
 +
% 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.
  
 
== Example ==
 
== Example ==
<!-- Please fill in an example if you can -->
+
<context source=yes mode=mkiv>
 +
\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>
 +
 
 +
== Example within {{cmd|startnarrower}}...{{cmd|stopnarrower}} ==
 +
<context source=yes mode=mkiv>
 +
\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>
 +
 
  
 
== See also ==
 
== See also ==
<!-- something like [[cmd:goto|\goto]] -->
+
* {{cmd|setupwhitespace}} to set up inter-paragraph spacing.
 +
* {{cmd|setuplayout}} to set sizes of text areas.
 +
* {{cmd|setuplocalinterlinespace}} to set interline spacing locally.
 +
* {{cmd|definebodyfontenvironment}} with keyword [[Command/keyword:interlinespace|interlinespace]] to set interline spacing globally (i.e. before {{cmd|starttext}}).
 +
 
 +
== Help from ConTeXt-Mailinglist/Forum ==
 +
All issues with:
 +
{{Forum|{{SUBPAGENAME}}}}
  
[[Category:Reference/en|setupinterlinespace]]
+
[[Category:Command/Paragraphs|setupinterlinespace]]
 +
[[Category:Command/Layout|setupinterlinespace]]

Latest revision as of 11:06, 4 February 2022

\setupinterlinespace

Syntax (autogenerated)

\setupinterlinespace[...,...][...=...,...]
[...,...]name
linedimension
heightnumber
depthnumber
minheightnumber
mindepthnumber
distancedimension
topnumber height
bottomnumber
stretchnumber
shrinknumber


\setupinterlinespace[...,...]
[...,...]on off reset auto small medium big number dimension


\setupinterlinespace[...]
[...]name


Syntax

\setupinterlinespace
\setupinterlinespace[...]
\setupinterlinespace[...,...=...,...]
[...] reset small medium auto big on off
height number
depth number
line dimension
top number
bottom number

Description

\setupinterlinespace sets up the distance between lines. can be used in three variants:

  • Without any keywords:
    \setupinterlinespace
    The command sets the baselineskip to 2.8ex.
  • With a keyword:
    \setupinterlinespace[KEYWORD]
    The following keywords are available:
    • reset
    • small
    • medium
    • big
    • on
    • off
  • Setting all the parameters involved in line positioning:\setupinterlinespace[...,...=...,...]
    • line: base interline spacing (baselineskip) (e.g. 3ex or 12pt)
    • height: size of strut as multiple of line (e.g. 0.72)
    • depth: size of strut as multiple of line (e.g. 0.28)
    • top: topskip (as multiple of line height)
    • bottom: maxdepth (as multiple of line height)
    • stretch: (glue) line stretching

Note that the lineheight as shown in \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:

% 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]

A final note: It seems that \setupinterlinespace[line=XX\baselineskip] interacts badly with \setuplayout while \setupinterlinespace[big] works fine.

Example

\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
}

Example within \startnarrower...\stopnarrower

\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


See also

Help from ConTeXt-Mailinglist/Forum

All issues with: