{"route":"/en-US-v0.14.1/reference/pdf/header-cell/","title":"Header Cell","description":"Documentation for the `header-cell` function.","part":null,"outline":[{"id":"summary","name":"Summary","children":[]},{"id":"parameters","name":"Parameters","children":[{"id":"parameters-level","name":"level","children":[]},{"id":"parameters-scope","name":"scope","children":[]},{"id":"parameters-cell","name":"cell","children":[]}]}],"body":{"kind":"func","content":{"path":["pdf"],"name":"header-cell","title":"Header Cell","keywords":[],"oneliner":"Explicitly defines a cell as a header cell.","element":false,"contextual":false,"deprecationMessage":null,"deprecationUntil":null,"details":[{"kind":"html","content":"<p>Explicitly defines a cell as a header cell.</p>\n<p>Header cells help users of Assistive Technology (AT) understand and navigate\ncomplex tables. When your table is correctly marked up with header cells, AT\ncan announce the relevant header information on-demand when entering a cell.</p>\n<p>By default, Typst will automatically mark all cells within <a href=\"/en-US-v0.14.1/reference/model/table/#definitions-header\" title=\"`table.header`\"><code>table.header</code></a>\nas header cells. They will apply to the columns below them. You can use that\nfunction's <a href=\"/en-US-v0.14.1/reference/model/table/#definitions-header-level\"><code>level</code></a> parameter to make header cells\nlabelled by other header cells.</p>\n<p>The <code>pdf.header-cell</code> function allows you to indicate that a cell is a\nheader cell in the following additional situations:</p>\n<ul>\n<li>You have a <strong>header column</strong> in which each cell applies to its row. In\nthat case, you pass <code><span class=\"typ-str\">&quot;row&quot;</span></code> as an argument to the <a href=\"/en-US-v0.14.1/reference/pdf/header-cell/#parameters-scope\"><code>scope</code>\nparameter</a> to indicate that the header cell\napplies to the row.</li>\n<li>You have a cell in <a href=\"/en-US-v0.14.1/reference/model/table/#definitions-header\" title=\"`table.header`\"><code>table.header</code></a>, for example at the very start, that\nlabels both its row and column. In that case, you pass <code><span class=\"typ-str\">&quot;both&quot;</span></code> as an\nargument to the <a href=\"/en-US-v0.14.1/reference/pdf/header-cell/#parameters-scope\"><code>scope</code></a> parameter.</li>\n<li>You have a header cell in a row not containing other header cells. In that\ncase, you can use this function to mark it as a header cell.</li>\n</ul>\n<p>The API of this feature is temporary. Hence, calling this function requires\nenabling the <code>a11y-extras</code> feature flag at the moment. In a future Typst\nrelease, this functionality may move out of the <code>pdf</code> module so that tables\nin other export targets can contain the same information.</p>\n<div class=\"previewed-code\"><pre><code><span class=\"typ-key\">#</span><span class=\"typ-key\">show</span> table<span class=\"typ-punct\">.</span>cell<span class=\"typ-punct\">.</span><span class=\"typ-func\">where</span><span class=\"typ-punct\">(</span>x<span class=\"typ-punct\">:</span> <span class=\"typ-num\">0</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">:</span> <span class=\"typ-key\">set</span> <span class=\"typ-func\">text</span><span class=\"typ-punct\">(</span>weight<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;medium&quot;</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-key\">#</span><span class=\"typ-key\">show</span> table<span class=\"typ-punct\">.</span>cell<span class=\"typ-punct\">.</span><span class=\"typ-func\">where</span><span class=\"typ-punct\">(</span>y<span class=\"typ-punct\">:</span> <span class=\"typ-num\">0</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">:</span> <span class=\"typ-key\">set</span> <span class=\"typ-func\">text</span><span class=\"typ-punct\">(</span>weight<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;bold&quot;</span><span class=\"typ-punct\">)</span>\n\n<span class=\"typ-func\">#</span><span class=\"typ-func\">table</span><span class=\"typ-punct\">(</span>\n  columns<span class=\"typ-punct\">:</span> <span class=\"typ-num\">3</span><span class=\"typ-punct\">,</span>\n  align<span class=\"typ-punct\">:</span> <span class=\"typ-punct\">(</span>start<span class=\"typ-punct\">,</span> end<span class=\"typ-punct\">,</span> end<span class=\"typ-punct\">)</span><span class=\"typ-punct\">,</span>\n\n  table<span class=\"typ-punct\">.</span><span class=\"typ-func\">header</span><span class=\"typ-punct\">(</span>\n    <span class=\"typ-comment\">// Top-left cell: Labels both the nutrient rows</span>\n    <span class=\"typ-comment\">// and the serving size columns.</span>\n    pdf<span class=\"typ-punct\">.</span><span class=\"typ-func\">header-cell</span><span class=\"typ-punct\">(</span>scope<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;both&quot;</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Nutrient<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n    <span class=\"typ-punct\">[</span>Per 100g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n    <span class=\"typ-punct\">[</span>Per Serving<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-punct\">)</span><span class=\"typ-punct\">,</span>\n\n  <span class=\"typ-comment\">// First column cells are row headers</span>\n  pdf<span class=\"typ-punct\">.</span><span class=\"typ-func\">header-cell</span><span class=\"typ-punct\">(</span>scope<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;row&quot;</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Calories<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-punct\">[</span>250 kcal<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span> <span class=\"typ-punct\">[</span>375 kcal<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  pdf<span class=\"typ-punct\">.</span><span class=\"typ-func\">header-cell</span><span class=\"typ-punct\">(</span>scope<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;row&quot;</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Protein<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-punct\">[</span>8g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span> <span class=\"typ-punct\">[</span>12g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  pdf<span class=\"typ-punct\">.</span><span class=\"typ-func\">header-cell</span><span class=\"typ-punct\">(</span>scope<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;row&quot;</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Fat<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-punct\">[</span>12g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span> <span class=\"typ-punct\">[</span>18g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  pdf<span class=\"typ-punct\">.</span><span class=\"typ-func\">header-cell</span><span class=\"typ-punct\">(</span>scope<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;row&quot;</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Carbs<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-punct\">[</span>30g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span> <span class=\"typ-punct\">[</span>45g<span class=\"typ-punct\">]</span><span class=\"typ-punct\">,</span>\n<span class=\"typ-punct\">)</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.14.1/assets/41f9acbb3490553d6e9d371bd5ea718f.png\" alt=\"Preview\"></div></div>"}],"self":false,"params":[{"name":"level","details":[{"kind":"html","content":"<p>The nesting level of this header cell.</p>"}],"types":["int"],"strings":[],"default":"<code><span class=\"typ-num\">1</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":false},{"name":"scope","details":[{"kind":"html","content":"<p>What track of the table this header cell applies to.</p>"}],"types":["str"],"strings":[{"string":"both","details":"<p>The header cell refers to both the row and the column.</p>"},{"string":"column","details":"<p>The header cell refers to the column.</p>"},{"string":"row","details":"<p>The header cell refers to the row.</p>"}],"default":"<code><span class=\"typ-str\">&quot;column&quot;</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":false},{"name":"cell","details":[{"kind":"html","content":"<p>The table cell.</p>\n<p>This can be content or a call to <a href=\"/en-US-v0.14.1/reference/model/table/#definitions-cell\" title=\"`table.cell`\"><code>table.cell</code></a>.</p>"}],"types":["content"],"strings":[],"default":null,"positional":true,"named":false,"required":true,"variadic":false,"settable":false}],"returns":["content"],"scope":[]}}}