Сворачиваемые блоки
Как спрятать решение, длинную выкладку или необязательную деталь за щелчок через :::spoiler и когда вместо этого писать :::solution или :::hint
Сворачиваемый блок показывает одну строку-заголовок и держит тело свёрнутым, пока читатель его не откроет. Выбор остаётся за читателем: попробовать решить задачу до ответа, пропустить длинное вычисление, которому он верит, или раскрыть подробность, когда она нужна. Страница остаётся короткой и ничего не теряет.
Синтаксис
Показать вычисление
Подставим , тогда :
::::spoiler[Показать вычисление]
Подставим $u = x^2$, тогда $du = 2x\,dx$:
$$
\int_0^1 2x e^{x^2} \, dx = \int_0^1 e^{u} \, du = e - 1
$$
::::[метка]— строка-заголовок, она видна всегда. Пишите в ней, что читатель получит, открыв блок: «Показать вычисление», «Доказательство нижней оценки», «Почему это работает». Без метки заголовок будет Details – по-английски, на каком бы языке ни был документ, так что метку лучше дать.- Тело — полноценный Markdown: абзацы, формулы, списки, код, изображения и другие блоки.
- В примере четыре двоеточия, а не три: внутри может оказаться свой блок (диаграмма TikZ, таблица в выноске), а внешняя граница должна быть длиннее всего, что внутри. См. вложенность.
Решения и подсказки: используйте виды утверждений
Для задачи и её ответа лучше подходят специальные
утверждения, а не спойлер.
:::solution и :::hint тоже сворачиваются, но вдобавок несут переведённую
метку («Решение», «Solution», «Lösung», ...) и относятся к задаче над ними:
Задача. Докажите, что иррационально.
Подсказка.
Предположите, что – несократимая дробь, и посмотрите на чётность .
Решение.
Из следует, что чётно; пусть . Тогда , и тоже чётно – противоречие с несократимостью.
:::problem
Докажите, что $\sqrt{2}$ иррационально.
:::
:::hint
Предположите, что $\sqrt{2} = p/q$ -- несократимая дробь, и посмотрите на
чётность $p$.
:::
:::solution
Из $p^2 = 2q^2$ следует, что $p$ чётно; пусть $p = 2r$. Тогда $q^2 = 2r^2$,
и $q$ тоже чётно -- противоречие с несократимостью.
:::Обычный спойлер — для всего остального необязательного: длинного вывода, кода, по которому построен рисунок, таблицы сырых данных, сведений, которые специалист и так знает.
Что сворачивание делает и чего не делает
- Работает без скриптов. Спойлер — это встроенный в браузер
раскрывающийся элемент (
<details>): он открывается щелчком, клавишами Enter или пробел и даже при выключенном JavaScript. Программа чтения с экрана сообщает, свёрнут он или развёрнут. - Поиск по странице ищет и внутри. Chrome и Edge сами открывают блок с найденным текстом; в других браузерах откройте его сначала.
- Свёрнутый текст остаётся на странице. Поисковики его индексируют, и открыть его может любой. Не сворачивайте то, без чего не понять текст: если читателю это нужно для рассуждения, оставьте открытым.
- Это не способ скрыть содержимое. Спойлер — не разграничение доступа. Текст, который должны видеть не все, место в публикации с более узкой видимостью, а не за щелчком.
Сырой HTML
<details><summary>...</summary>...</details> в тексте даёт тот же элемент и
разрешён. Директива удобнее: она короче, тело пишется на Markdown, а не на
HTML, и редактор показывает её как блок, который можно править.