Разные стили таблиц в одном и том же исходном документе

#markdown #pandoc #word

#markdown #pandoc #word

Вопрос:

Я использую Pandoc 2.10.1 для преобразования из Markdown в DOCX. В моем исходном файле есть 2 таблицы, которые должны быть оформлены по-разному.Я знаю, что:

  • Стиль по умолчанию для таблиц Table ,
  • Я могу предоставить справочный документ, из которого будут взяты стили
  • Я могу изменить Table стиль в этом справочном документе по стилю
  • Я могу добавить свои собственные стили таблиц в этот справочный документ

Однако я не могу понять, как одна таблица должна иметь Table стиль по умолчанию, а другая должна иметь MyGoodTable стиль. Я пытался ничего не делать с одной таблицей и окружать другую в огороженном div, подобном этому:

 :::{custom-style=MyTableStyle}

 ----- ----- ----- 
| A   | B   | C   |
 ===== ===== ===== 
| 10  | 11  | 12  |
 ----- ----- ----- 
| 20  | 21  | 22  |
 ----- ----- ----- 
| 30  | 31  | 33  | 
 ----- ----- ----- 

:::
  

Однако это не сработало, несмотря на то, что мой справочный документ имеет MyTableStyle в качестве стиля таблицы.

Итак, как одна таблица в документе может иметь один стиль, а другая таблица в том же документе — другой?

Комментарии:

1. Удалось ли вам найти решение или обходной путь?

2. Боюсь, что нет, @ddsultan

Ответ №1:

На самом деле это решение для Python-Markdown, а не для DOCX. Но, возможно, это можно как-то адаптировать или быть полезным для тех, кто нашел этот вопрос по его названию.

 The default table stile: 

Item No | Name | Description | Price
--------|------|-------------|------
1       | Chair | Kitchen chair | 101.50
2       | Table | Kitchen table | 450.00

The "plated" table style:

<div class="tablePlated"></div>

|Item No | Name | Description | Price|
|--------|------|-------------|------|
|1       | Chair | Kitchen chair | 101.50|
|2       | Table | Kitchen table | 450.00|

And the "gridded" table style:

<div class="tableGridded"></div>

Item No | Name | Description | Price
--------|------|-------------|------
1       | Chair | Kitchen chair | 101.50
2       | Table | Kitchen table | 450.00
  

Вот правила CSS:

 table {
    font-size: 16px;
}

td, th {
    padding: 7px 14px;
}

div.tablePlated table {
    border-spacing: 1px;
    border-collapse: separate;
}

div.tablePlated table td, div.tablePlated table th {
    background-color: lightblue;
}

div.tableGridded table {
    border-spacing: 0;
    border-collapse: collapse;    
}

div.tableGridded table td, div.tableGridded table th {
    border: solid 1px dodgerblue;
}
  

И вот результат:

введите описание изображения здесь

Комментарии:

1. Это хороший и хорошо структурированный ответ, но на другой вопрос. На самом деле это не отвечает на вопрос, который конкретно касается вывода docx, созданного через pandoc.

2. Да, спасибо. Отразил это в ответе.

3. Я бы посоветовал вам опубликовать новый вопрос, на который отвечает ваш вклад, и опубликовать свой ответ там, а не здесь, поскольку это не ответ на этот вопрос.