How to center table in a page in the middle of numbered list?

Hi, I’m trying to write a document with a list of bullet points, and insert a table in between for an experimental protocol.

+ Step 1
  #figure(
    table(
      columns: (auto, auto),
      align: (left, right),
      stroke: 0.5pt,
      table.header([Reagent], [1X Volume (µL)]),
      [A], [12.5],
      [B], [2.5],
    ),
    caption: [Table1],
  ) <tbl>
+ Step2

I indented the table into numbered list, so the numbering continues. Without this indentation, the number always starts from 1 after the table.
But I also want to put table in the middle of the page, and I have not found a good way to do it. using align[center] only put it to the center of bullet list text width, not page width.

Thanks so much in advance!!

You can insert the table in a block and set the width:

+ Step 1
  #block(width: 100%, figure(
    table(
      columns: (auto, auto),
      align: (left, right),
      stroke: 0.5pt,
      table.header([Reagent], [1X Volume (µL)]),
      [A], [12.5],
      [B], [2.5],
    ),
    caption: [Table1],
  )) <tbl>
+ Step2

Please see for more details How to make centralized formulae in enums - #2 by Andrew

1 Like

My understanding is the itemize package also handles this problem.

But, if you want your figure to be properly centered on the page (not within the list item) you’ll need to put the figure outside the list. Compare these:

#import "@preview/itemize:0.2.0" as el

#set page(height: auto, margin: 1cm)

= With block/outside list

+ as

  #block(width: 100%)[
    #figure(rect())
  ]

+ df
  
#figure(rect())

+ gh

= With itemize

#[
  #show: el.default-enum-list

  + as
  
    #figure(rect())

  + df
  
  #figure(rect())
  
  + gh
]

Luckily, itemize can also help with resuming an interrupted list’s numbering:

= With resumed numbering

#[
  #show: el.default-enum-list.with(auto-resuming: auto)

  + as

  #figure(rect())

  #el.resume()
  + df
]

1 Like

Thanks! All those AI models suggested different solutions but your solution works for me!