Chic-header (chic-hdr) is a Typst package for creating elegant headers and footers
Usage
To use this library through the Typst package manager (for Typst 0.6.0 or greater), write #import "@preview/chic-hdr:0.2.0": * at the beginning of your Typst file. Once imported, you can start using the package by writing the instruction #show: chic.with() and giving any of the chic functions inside the parenthesis ().
For example, the code below…
#import "chic-hdr.typ": *
#set page(paper: "a7")
#show: chic.with(
chic-footer(
left-side: strong(
link("mailto:admin@chic.hdr", "admin@chic.hdr")
),
right-side: chic-page-number()
),
chic-header(
left-side: emph(chic-heading-name()),
right-side: smallcaps("Example")
),
chic-separator(1pt),
chic-offset(7pt),
chic-height(1.5cm)
)
= Introduction
#lorem(30)
== Details
#lorem(70)
…will look like this:
Reference
Note: For a detailed explanation of the functions and parameters, see Chic-header’s Manual.pdf.
While using #show: chic.with(), you can give the following parameters inside the parenthesis:
width: Indicates the with of headers and footers in all the document (default is100%).skip: Which pages must be skipped for setting its header and footer. Other properties changed withchic-height()orchic-offset()are preserved. (default is()).even: Header and footer for even pages. Here, onlychic-header(),chic-footer()andchic-separator()functions will take effect. Other functions must be given as an argument ofchic().odd: Sets the header and footer for odd pages. Here, onlychic-header(),chic-footer()andchic-separator()functions will take effect. Other functions must be given as an argument ofchic()...functions(): These are a variable number of arguments that corresponds to Chic-header’s style functions.
Functions
chic-header()- Sets the header content.v-center: Whether to vertically align the header content, or not (default isfalse).left-side: Content displayed in the left side of the header (default isnone).center-side: Content displayed in the center of the header (default isnone).right-side: Content displayed in the right side of the header (default isnone).
chic-footer()- Sets the footer content.v-center: Whether to vertically align the header content, or not (default isfalse).left-side: Content displayed in the left side of the footer (default isnone).center-side: Content displayed in the center of the footer (default isnone).right-side: Content displayed in the right side of the footer (default isnone).
chic-separator()- Sets the separator for either the header, the footer or both.on: Where to apply the separator. It can be"header","footer"or"both"(default is"both").outset: Space around the separator beyond the page margins (default is0pt).gutter: How much spacing insert around the separator (default is0.65em).- (unnamed): A length for a
line(), a stroke for aline(), or a custom content element.
chic-styled-separator()- Returns a pre-made custom separator for using it inchic-separator()color: Separator’s color (default isblack).- (unnamed): A string indicating the separator’s style. It can be
"double-line","center-dot","bold-center", or"flower-end".
chic-height()- Sets the height of either the header, the footer or both.on: Where to change the height. It can be"header","footer"or"both"(default is"both").- (unnamed): A relative length (the new height value).
chic-offset()- Sets the offset of either the header, the footer or both (relative to the page content).on: Where to change the offset It can be"header","footer"or"both"(default is"both).- (unnamed): A relative length (the new offset value).
chic-page-number()- Returns the current page number. Useful for header and footersides. It doesn’t take any parameters.chic-heading-name()- Returns the previous heading name. If there’s no previous headings, it returns the next heading name. Finally, if there’s no headings ahead, it returns nothing.
Gallery
Header with chic-heading-name() at left, and chic-page-number() at right. There’s a chic-separator() of 1pt only for the header.
Footer with chic-page-number() at right, and a custom chic-separator() showing “end of page (No. page)” between 9 ~ symbols at each side.
Changelog
Version 0.1.0
- Initial release
- Implemented
chic-header(),chic-footer(),chic-separator(),chic-height(),chic-offset(),chic-page-number(), andchic-heading-name()functions
Version 0.2.0
Thanks to Slashformotion (https://github.com/slashformotion) for noticing this version bugs, and suggesting a vertical alignment for headers.
- Fix alignment error in
chic-header()andchic-footer() - Add
v-centeroption forchic-header()andchic-footer() - Add
outsetoption forchic-separator() - Add
chic-styled-separator()function