Как сделать отступ заголовка под нумерованным списком в Rmarkdown, связанном с HTML?

У меня есть этот файл Rmarkdown:

---
title: "Indent heading under list"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## This is a heading

1. I have some numbered list items under this heading

2. And I want to have sub-heading under this numbered listed

3. Under this new sub-heading, I want to have tabs under it

### Sub-heading I want {.tabset .tabset-fade .tabset-pills}

#### Apple

- This is an apple

#### Orange

- This is an orange

###

4. I want the above sub-heading to have indentation so that it is indented under item number 3 above

Что на данный момент так:

Как поясняется в самом Rmarkdown, я хочу сделать отступ подзаголовка под нумерованным списком, чтобы он выглядел так:

Большинство ресурсов, которые я нашел в Интернете, рекомендуют вручную делать отступы в заголовках с четырьмя пробелами под нумерованным списком, но это не работает (см. прикрепленный снимок экрана).

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
0
65
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы хотите, чтобы что-то было частью элемента списка, в уценке вам нужно сделать отступ за маркером списка. Таким образом, сделайте отступ на три или четыре пробела:

2. And I want to have sub-heading under this numbered listed

3. Under this new sub-heading, I want to have tabs under it

   ### Sub-heading I want

   #### Apple

   - This is an apple

   #### Orange

   - This is an orange

4. I want the above sub-heading to have indentation so that it is indented under item number 3 above

Спасибо за ваш ответ. На самом деле это первое, что я попробовал перед публикацией здесь, но в моем случае это не сработало (скриншот см. в обновленном посте).

benson23 21.08.2024 09:39

@benson23 Я не знаю насчет R-Markdown, но он работает в обычном пандоке.

mb21 21.08.2024 11:15
Ответ принят как подходящий

Если вы добавите дефис с отступом перед ###, это создаст подзаголовок с отступом. Но потом есть пуля, я не знаю, как от нее избавиться (Редактировать: теперь я знаю; см. Внизу).

---
title: "Indent heading under list"
output: html_document
---


## This is a heading

1. I have some numbered list items under this heading

2. And I want to have sub-heading under this numbered listed

3. Under this new sub-heading, I want to have tabs under it

  - ### Sub-heading I want 

    - And I also want an apple


РЕДАКТИРОВАТЬ

Вот способ удаления маркера с помощью CSS.

Сначала назначьте подзаголовку класс HTML, скажем nobullet:

3. Under this new sub-heading, I want to have tabs under it

  - ### Sub-heading I want {.nobullet}

    - And I also want an apple

Теперь добавьте этот CSS куда-нибудь, например. в начале документа:

<style>
li:has(.nobullet) {list-style-type: none;}
</style>

2-е РЕДАКТИРОВАНИЕ

Вот более простое решение, которое работает с вкладками.

---
title: "Indent heading under list"
output: html_document
---

<style>
.indented {padding-left: 100px;}
</style>

## This is a heading

1. I have some numbered list items under this heading

2. And I want to have sub-heading under this numbered listed

3. Under this new sub-heading, I want to have tabs under it

### Sub-heading I want {.indented .tabset .tabset-fade .tabset-pills}

#### Apple 

  - And I also want an apple

#### Orange

  - This is an orange


### 

4. I want the above sub-heading to have indentation so that it is indented under item number 3 above

Будет ли удален маркер заголовка, если вы это сделаете - ### Sub-heading I want {.nobullet}, а затем добавите CSS .ul.nobullet {list-style: none;}?

SamR 21.08.2024 10:55

SamR> Я не пробовал, но с помощью CSS это наверняка осуществимо.

Stéphane Laurent 21.08.2024 11:07

Согласен - я думаю, что синтаксис правильный, но, если не важно, он должен дать ему класс и убедиться, что элементы этого класса И класса ul не имеют маркера. Возможно, потребуется !important в конце, чтобы убедиться, что он не переопределен существующими правилами CSS уценки.

SamR 21.08.2024 11:09

SamR> Ваш CSS неверен. li (= маркер) является родительским элементом подзаголовка. Смотрите мое редактирование.

Stéphane Laurent 21.08.2024 13:28

Спасибо за ответ, однако в моем случае очень важны табуляции (под подзаголовком), которые не работают с дефисом. Есть ли у вас идеи, как это сохранить?

benson23 22.08.2024 09:24

@benson23 Бенсон23 Я нашел решение. Пожалуйста, посмотрите мое второе редактирование.

Stéphane Laurent 22.08.2024 12:49

Я считаю, что это невозможно в R Markdown. Возможным решением может быть переключение на Quarto, который позволяет использовать элементы div для обозначения наборов вкладок:

3. Under this new sub-heading, I want to have tabs under it

   ::: {.panel-tabset}

   #### Apple

   - This is an apple

   #### Orange

   - This is an orange

   :::

4. I want the above sub-heading to have indentation so that it is indented under item number 3 above

Другие вопросы по теме