Skip to content

Touying 0.1.0

Compare
Choose a tag to compare
@OrangeX4 OrangeX4 released this 11 Jan 12:13
· 288 commits to main since this release

Touying 0.1.0

#import "@preview/touying:0.1.0": s, pause, utils, states, pdfpc, themes
  • Object-oriented programming: Singleton s, binding methods utils.methods(s) and (self: obj, ..) => {..} methods.
  • Page arguments management: Instead of using #set page(..), you should use self.page-args to retrieve or set page parameters, thereby avoiding unnecessary creation of new pages.
  • #pause for sequence content: You can use #pause at the outermost level of a slide, including inline and list.
  • #pause for layout functions: You can use the composer parameter to add yourself layout function like utils.side-by-side, and simply use multiple pos parameters like #slide[..][..].
  • Callback-style uncover, only and alternatives: Based on the concise syntax provided by Polylux, allow precise control of the timing for displaying content.
    • You should manually control the number of subslides using the repeat parameter.
  • Transparent cover: Enable transparent cover using oop syntax like #let s = (s.methods.enable-transparent-cover)(self: s).
  • Handout mode: enable handout mode by #let s = (s.methods.enable-handout-mode)(self: s).
  • Fit-to-width and fit-to-height: Fit-to-width for title in header and fit-to-height for image.
    • utils.fit-to-width(grow: true, shrink: true, width, body)
    • utils.fit-to-height(width: none, prescale-width: none, grow: true, shrink: true, height, body)
  • Slides counter: states.slide-counter.display() + " / " + states.last-slide-number and states.touying-progress(ratio => ..).
  • Appendix: Freeze the last-slide-number to prevent the slide number from increasing further.
  • Sections: Touying's built-in section support can be used to display the current section title and show progress.
    • states.new-section(section) to register a new section.
    • states.current-section to get the current section.
    • states.touying-outline or s.methods.touying-outline to display a outline of sections.
    • states.touying-final-sections(sections => ..) for custom outline display.
    • states.touying-progress-with-sections((current-sections: .., final-sections: .., current-slide-number: .., last-slide-number: ..) => ..) for powerful progress display.
  • Pdfpc: pdfpc support and export .pdfpc file without external tool by typst query command simply.