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-center
option forchic-header()
andchic-footer()
- Add
outset
option forchic-separator()
- Add
chic-styled-separator()
function