How can I customize the marker in a bullet list?

Hi,

Here’s what I use right now:

#let ball-pad = (left: .2em, top: .3em, bottom: .3em, content) => {
  pad(left: left, top: top, bottom: bottom, content)
}
...
#ball-pad[
  #set list(marker: [=])
  - Lorem Ipsum
  ...
]

This change is local to the ball-pad scope, which is what I want. Unfortunately, I can’t integrate #set list() in the ball-pad() function:

#let ball-pad = (left: .2em, top: .3em, bottom: .3em, content) => {
  pad(left: left, top: top, bottom: bottom, content)
  set list(marker: [=])
}

This one is OK with the compiler, but has no effect. What am I doing wrong?

Not sure if I understand correctly. If you need to set the style of list in the content in the content parameter of the function ball-pad, it should be written like this:

#let ball-pad = (left: .2em, top: .3em, bottom: .3em, content) => {
  pad(left: left, top: top, bottom: bottom, [
    #set list(marker: [=])
    #content
  ])
}
... 
#ball-pad[
  - Lorem Ipsum
  - Lorem Ipsum
  ...
]

The code of you function creates the below code. The list marker is set after the content:

#{
pad(left: .2em, top: .3em, bottom: .3em, [
  - Lorem Ipsum
])
set list(marker: [=])
}

You have to place the lines which should affect your content before the content:

#let ball-pad = (left: .2em, top: .3em, bottom: .3em, content) => {
  set list(marker: [=])
  pad(left: left, top: top, bottom: bottom, content)
}

Thanks! I’m beginning to see the light. pad(... , content) creates the content just as sure as the #content above.