Стилизация и создание в Rmarkdown вызывает переносы строк в некоторых пунктах списка, но не в других

Вопрос или проблема

Я создаю документ Quarto, который включает файл стилизации .css, и у меня в оглавлении и в списке литературы появляются пули вместе с переносами строк. Ненумерованные списки отображаются правильно. Это связано с файлом .css, который я использую.

Стиль моей компании включает красную косую черту для ненумерованных списков, чего я и добиваюсь. Я не хочу, чтобы она была в оглавлении и списке литературы. Как мне убрать пули в оглавлении и списке литературы, а также переносы строк?:

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

Вот мой код:

---
title: "Перенос строки - не подходит"
execute:
  echo: false
  warning: false
format: 
  html:
    css: mystyle.css
    toc: true
---

```{r}
library(knitr)
library(rmarkdown)
```

* Элемент списка A
* Элемент списка B

# Список литературы
Этот документ был создан с использованием программной среды R[^1] и использует rmarkdown[^2] для форматирования.

[^1]: R Core Team (2024). _R: Язык и среда для статистических вычислений_. Фонд R для статистических вычислений, Вена, Австрия. URL <https://www.R-project.org/>.

[^2]: JJ Allaire и др. (2024). _rmarkdown: Динамические документы для R_. Версия пакета R 2.27. <https://github.com/rstudio/rmarkdown>.

А вот мой файл mystyle.css

ul {
  list-style: none; /* Удалить маркеры списка */
  padding: 0;
  margin: 0;
  padding-bottom: 0px;
  font-size: 11pt;
  font-family: 'Aktiv Grotesk';
}

li {
  padding-left: 0px;
  padding-bottom: 0px; 
  padding-top: 0px;
  font-size: 11pt;
  font-family: 'Aktiv Grotesk';
}

li::before {
  content: "/"; /* Вставить содержимое, похожее на маркеры */
  padding-right: 8px;
  padding-top: 0px;
  padding-bottom: 0px;
  color: red; /* Или другой цвет, который вы предпочитаете */
}

Ответ или решение

Для решения вашей проблемы с выводом маркеров и переносами строк в оглавлениях и библиографиях в документе Quarto, вы можете использовать различные CSS-селекторы, чтобы отличать стили для различных частей документа. В вашем случае нужно будет исключить изменения стиля для оглавления и списка литературы.

Вот как можно обновить ваш файл mystyle.css, чтобы сделать это:

/* Общее стиль для всех ul */
ul {
  list-style: none; /* Убираем стандартные маркеры списка */
  padding: 0;
  margin: 0;
  font-size: 11pt;
  font-family: 'Aktiv Grotesk';
}

/* Определяем стиль для li */
li {
  padding: 0; 
  font-size: 11pt;
  font-family: 'Aktiv Grotesk';
}

/* Добавляем красный слэш для li */
li::before {
  content: "/"; /* Задаем контент, который будет выглядеть как маркеры */
  padding-right: 8px;
  color: red; /* Цвет маркеров */
}

/* Исключение для оглавления */
#TOC ul, .references ul {
  list-style: none; /* Оставляем маркеры без изменений для оглавления и библиографии */
}

/* Исключение для списков в ресурсах и оглавлениях */
#TOC li::before, .references li::before {
  content: ""; /* Убираем контент для маркеров в оглавлении и библиографии */
}

В этом обновлённом CSS файле мы добавили секции, которые нацелены на элементы оглавления (обычно это также относится к элементам класса .references). Селекторы #TOC и .references изолируют стили, чтобы предотвратить применение красного слэша к маркерам списков в этих частях документа.

Обратите внимание, что #TOC может отличаться в зависимости от структуры вашего HTML, поэтому при необходимости проверьте, как именно генерируется ваше оглавление, и отрегулируйте селекторы в соответствии с ним.

После внесения изменений в CSS файл также проверьте, как выводятся в документе ссылки на литературу, и при необходимости аналогично внесите изменения в соответствующую часть кода.

Теперь, при компиляции документа, вы должны увидеть, что в оглавлении и в списке литературы исчезнут маркеры, а также переносы строк, которые вас беспокоили, в то время как ваши обычные списки будут отображаться корректно.

Оцените материал
Добавить комментарий

Капча загружается...