Нумерация списков Jupyter Notebook markdown
Я пытаюсь создать учебник для студентов. Я хочу пронумеровать вопросы, которые я им задаю, но между ними я хотел бы добавить информацию, чтобы ввести вопросы. Как я могу сделать автоматически пронумерованный список, который не сбрасывает нумерацию каждый раз, когда я помещаю текст. Например:
This is some info.
1. This is question one.
This is more info.
2. This is question two.
дает выход:
это некоторая информация.
- это первый вопрос.
Это подробнее.
- это вопрос два.
2 ответов
это напрямую невозможно со стандартной уценкой, хотя вы можете "подделать" (см. ниже). На самом деле правила состояние:
важно отметить, что фактические числа, которые вы используете для маркировки списка, не влияют на выходную разметку HTML. ... Дело в том, что, если вы хотите, вы можете использовать порядковые номера в упорядоченных списках уценки, чтобы номера в вашем источнике соответствовали номерам в опубликованном HTML. Но если ты хочешь быть ленивым ... , тебе и не нужно.
если вы используете ленивую нумерацию списка, однако, вы все равно должны начать список с номером 1. В какой-то момент в будущем Markdown может поддерживать запуск упорядоченных списков с произвольным числом.
это будущее никогда не наступало, официально. Однако несколько различных реализаций Markdown могут предложить такую функцию, как опция не по умолчанию. К сожалению, это редко (и я не помню, какие реализации они АР.)
независимо от того, у вас будет другая проблема. Мне не ясно, как ваш желаемый результат будет действительным HTML. По сути, вы просите абзацы вне ваших элементов списка, которые вложены в ваш список. Это будет недопустимый HTML:
<ol>
<p>This is some info.</p>
<li>This is question one.</li>
<p>This is more info.</p>
<li>This is question two.</li>
</ol>
тем не менее, он будет (почти) отображаться по вашему желанию (элементы без списка также отступы).
это некоторая информация.
- это первый вопрос.
Это подробнее.
- это второй вопрос.
Я бы не рекомендовал его, но вы можете использовать его как необработанный HTML. Возможно, вы могли бы найти какой-то другой способ или формат представления данных.
я рассмотрел предложение использовать упорядоченный список, вложенный в список определений, если ваша реализация Markdown поддерживает его (хотя и нестандартная, эта функция очень распространена и согласована между реализациями, хотя она может быть не включена неисполнение.) Это дает вам правильное вложение, но та же проблема, если непоследовательных чисел сохраняется. Однако, если вы вручную добавляете числа и избегаете их, чтобы они не интерпретировались как элементы списка, это работает следующим образом:
This is some info.
: 1\. This is question one.
This is more info.
: 2\. This is question two.
что делает as:
<dl>
<dt>This is some info.</dt>
<dd>1. This is question one.</dd>
<dt>This is more info.</dt>
<dd>2. This is question two.</dd>
</dl>
и выглядит так:
Это некоторая информация. 1. Это первый вопрос. Это больше информации. 2. Это второй вопрос.
интересно, как так удаляет (обычно по умолчанию) отступы в списках определений, в моих попытках подделать его в демо выше, я понял, что есть более простое решение, которое должно работать во всех реализациях Markdown. Просто используйте абзацы, ручные номера и неразрывные пробелы, чтобы заставить отступ:
This is some info.
1. This is question one.
This is more info.
2. This is question two.
обратите внимание, что неразрывные пробелы заставляют Markdown не видеть эти строки как элементы списка, отрицающие необходимость их избежать. Вышесказанное представляется как:
<p>This is some info.</p>
<p> 1. This is question one.</p>
<p>This is more info.</p>
<p> 2. This is question two.</p>
и отображает as:
это некоторая информация.
1. Это первый вопрос.
Это подробнее.
2. Это второй вопрос.
не идентично желаемому, но jupyter прекратил перенумерование, когда я написал Один) Два) Три) так далее.
')', похоже, отключает перенумерацию, выполняемую уценкой Jupyter. В аренду для jupyter версии 5.0.0 работает python 3.5.2.