How to keep heading and rotated figure on the same page

Well done on identifying the caption is the culprit. Seems to me you are looking for How to make figure caption text have the same width as the figure? - #2 by slowjo which has a working solution:

#show figure: it => layout(sz => {
  let w = measure(
    it.body,
    width: sz.width,
  ).width
  set par(justify: true)
  show figure.caption: cap => box(width: w, align(left, emph(cap)))
  it
})

== Thermodynamic properties of chemicals
#align(center, rotate(
  -90deg,
  reflow: true,

  [#figure(
    kind: table,
    rect(width: 95%, height: 100%), //height added for MWE
    caption: lorem(65),
  ) <fig_chems_Gf>],
))

Edit: I’ve updated the code to reflect the fact you are using width: 95% as per How to make figure caption text have the same width as the figure? - #4 by slowjo.

Thanks for the screenshot and the code snippet, it really helps helping you quickly. If I may, providing a MWE that compiles and doesn’t require helpers to remove citations, code snippets such as flex-caption, etc. would ensure you get answers much faster.

1 Like