How to fill the first row of a table with a color?

Здравствуйте!
Я хочу сделать так, чтобы все ячейки, в первой строке, в таблице, были серыми. Я написал правил с помощью #show, онлайн редактор typst не нашёл ошибок, но правило применяется лишь частично - текст становится жирным, а ячейки не окрашиваются. Подскажите пожалуйста что не так.

#show table.cell.where(y: 0): it => {
    table.cell(
      fill: gray,
      strong(it)
    )
  }

#table(
  columns: 3,
  [123],[1123],[1176],
  [657],[5643],[4567],
  [4567],[8970],[234]
)

P.S.
Я знаю что можно закрасить ячейки с помощью стрелочной функции ещё на этапе её создания, но мне нужно написать это правило с помощью #show

За ранее спасибо !

Hello @Gasap and welcome! I have renamed your topic to “How to fill the first row of a table with a color?”

If I understand well your topic, the following should work

#show table.cell.where(y: 0): strong
#set table(fill: (_, y) => if y == 0 { gray })

#table(
  columns: 3,
  [123],[1123],[1176],
  [657],[5643],[4567],
  [4567],[8970],[234]
)

image

Table formatting is not the most intuitive at the moment, but the tutorial is pretty thorough.

2 Likes

Здравствуйте @quachpas ! Спасибо за решение, однако оно мне было известно. Мне нужно изменить заливка ячеек первой строки именно через #show, а не через стрелочные функции.

Здравствуйте, Андрей. Хочу сообщить, что форум Typst на данный момент оперирует только на английском языке. В будущем возможно получится задавать вопросы и отвечать на них на других языках (отдельные категории для русского и других языков). Прошу вас использовать английский язык, это помогает остальным пользователям понять о чём именно говорит автор и шанс, что кто-то ответит в ближайшее время, значительно увеличивается. Также это помогает с индексацией страниц в поисковых системах. Можно пользоваться переводчиком, если навыков английского нет/не хватает.


As to your question, @quachpas provided a solution, that gives the desired output. Since you have to use the show rule instead, please describe the actual reason for this (provide some context), because there is a high chance that people can help you with your specific use case and give pointers as to what would be a better approach. Otherwise, you might not be able to get your answer.

P.S. If you really need to talk in Russian, you can reach me through the official Typst Discord channel (not through direct messages). Of course, right now you would probably have to use a VPN to get access to Discord.

1 Like