Як я можу створити текстове поле для нотатки в розмірі?


86

Я пишу документ із знижкою. Я використовую чудовий pandoc для створення файлів docx та tex із джерела націнки. Я хотів би мати текстове поле для підказок та приміток читачам, як це часто роблять книги з програмування. Я не можу зрозуміти, як це зробити при знижці. Ви можете допомогти?


Корпорація Майкрософт використовує власний синтаксис для цього у своїй документації, але навряд чи це спрацює у вашому середовищі. Додано сюди для повноти та порівняння з відповідями нижче. github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/…
brianary

Відповіді:


95

Те, що я зазвичай роблю для розміщення поля попередження (наприклад, Примітка чи Попередження) у текстах розмітки (не лише при використанні pandoc, але й у всіх місцях, де це зменшення підтримується), оточує вміст двома горизонтальними рядками:

---
**NOTE**

It works with almost all markdown flavours (the below blank line matters).

---

що було б приблизно так:


ПРИМІТКА

Він працює з усіма варіантами націнки (нижче має значення пустий рядок).


Хороша річ полягає в тому, що вам не потрібно турбуватися про те, який аромат націнки підтримується, а яке розширення встановлено або ввімкнено.

EDIT : Як @ filups21 зазначав у коментарях, здається, що горизонтальна лінія представлена ***в RMarkdown. Отже, згадане раніше рішення працює не з усіма ароматами націнки, як спочатку заявлялося.


4
Це корисно, але не працює з RMarkdown / Rstduio / Knitr
bjw

1
bjw - горизонтальна лінія в rmarkdown ***передує порожньому рядку. Крім того, ви можете помістити нотатку в блок-цитату, починаючи рядок з >(також перед пустим рядком).
filups21,

80

У GitHub я зазвичай вставляю блок-цитату.

> **_NOTE:_**  The note content.

стає ...

ПРИМІТКА: Зміст примітки.

Звичайно, завжди є звичайний HTML ...


@KamilSJaron: так? Ні, вони не є. Ви думаєте про кодові блоки?
naught101

@ naught101 Ах, я читав блок-цитат як зворотне цитування. Однак потрійні зворотні цитати насправді не обгортають.
Kamil S Jaron

3
Я віддаю перевагу цьому універсальному рішенню. Мені також подобається використовувати смайлики Unicode для префікса примітки, наприклад, > ℹ️ This is an informationабо > ⚠️ This is a warning.
pierre_loic

1
Це та табличний клуб - це єдині відповіді, що портативно вирішують це питання. Жорстке правило ляп , запропонований верхній відповідь не вказує коробку і , таким чином , не в змозі вирішити це питання. Дійсно, ця відповідь у поєднанні з модними значками Unicode @ pierre_loic здебільшого копіює примітки reStructuredText .
Сесіль Каррі,

16

Найпростішим рішенням, яке я знайшов для точно тієї ж проблеми, є використання таблиці з декількома рядками з одним рядком і без заголовка (у першому стовпці є зображення, а в другому - текст):

----------------------- ------------------------------------
![Tip](images/tip.png)\ Table multiline text bla bla bla bla
                        bla bla bla bla bla bla bla ... the
                        blank line below is important 

----------------------------------------------------------------

Інший підхід, який може працювати (для PDF) - використовувати директиву fbox за замовчуванням Latex :

 \fbox{My text!}

Або модуль FancyBox для отримання більш розширених функцій (і кращих вікон): http://www.ctan.org/tex-archive/macros/latex/contrib/fancybox .


1
Чи знаєте ви, чи можна визначити, як буде виглядати примітка з розміткою pandoc у файлі шаблону pandoc? Наприклад, редагування ~ / .pandoc / templates / default.latex?
tmaric

11

Використовуйте розширення застереження . Для mkdocs його можна налаштувати у mkdocs.ymlфайлі:

markdown_extensions:
    - admonition

Потім вставте примітку у ваші файли md наступним чином:

!!! note

     This is a note.

Дивіться приклад тут .


8

Подібно до рішення Етьєна, проста таблиця добре форматує:

| | |
|-|-|
|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|

Інша альтернатива (яка надається з більшим акцентом) - зробити вміст заголовком таблиці без тексту:

|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|
|-|-|

Нарешті, ви можете включити горизонтальну лінію (тематичний розрив), щоб створити закрите поле (хоча стиль рядка трохи відрізняється від рядка заголовка в таблиці):

| | |
|-|-|
|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|

---

Зверніть увагу на порожній рядок після тексту.


Мені дуже подобається це рішення, але коли я перетворюю його через pandoc та xelatex у pdf, здається, що воно виділяє 50% для " NOTE" стовпця та 50% для іншого; можна використовувати багаторядкові таблиці відповідно до stackoverflow.com/questions/27219629 - але тоді існують інші проблеми форматування.
sdbbs

6

Ось простий приклад на основі латексу.

---
header-includes:
    - \usepackage[most]{tcolorbox}
    - \definecolor{light-yellow}{rgb}{1, 0.95, 0.7}
    - \newtcolorbox{myquote}{colback=light-yellow,grow to right by=-10mm,grow to left by=-10mm, boxrule=0pt,boxsep=0pt,breakable}
    - \newcommand{\todo}[1]{\begin{myquote} \textbf{TODO:} \emph{#1} \end{myquote}}
---

blah blah

\todo{something}

blah

в результаті чого: введіть тут опис зображення

На жаль, оскільки це латекс, ви більше не можете включати розмітку всередину поля TODO (що, як правило, не є великою проблемою), і це не буде працювати при перетворенні в інші формати, крім PDF (наприклад, html).


5

Наступні методи працюють на GitHub, на GitLab ... та на Stackoverflow , який тепер використовує CommonMark !


> Однорядкова коробка, зроблена за допомогою Blockquote

Однорядкова коробка, зроблена за допомогою Blockquote


`Однорядкова коробка, зроблена із зворотними зв'язками`

One-Line Box made with Backticks


`` ``
Коробка зроблена з потрійними зворотними зв'язками
''

Box made with Triple Backticks  


~ ~ ~
Ящик, зроблений за допомогою потрійних тильд
(видаліть пробіли між тильдами, щоб це працювало)
~ ~ ~

Box made with Triple Tildes


Коробка, зроблена з чотирма пробілами на початку кожного рядка:

    “Sometimes we must let go of our pride and do what is requested of us.”
    Padmé Amidala


... або використовувати горизонтальні лінії?

Три тире (---) складають горизонтальну лінію:


Примітка : "Ваша увага визначає вашу реальність". - Квай-Гон Джин.


Для більшої кількості конфігурацій я настійно раджу чудовий посібник із розмітки GitLab .
Ви також можете перевірити менш детальний синтаксис базового форматування GitHub .
Ви можете порівняти реалізації Markdown за допомогою Babelmark .

Корисні підказки:

  • щоб примусити новий рядок, поставте два пробіли в кінці рядка;

  • щоб уникнути спеціальних символів, використовуйте \.


3

Ви пробували використовувати подвійні вкладки? Щоб зробити коробку:

Start on a fresh line
Hit tab twice, type up the content
Your content should appear in a box

Це працює для мене в звичайному документі Rmarkdown з вихідним кодом html. Частина з подвійними вкладками повинна відображатися у округлому прямокутному світло-сірому вікні.


Працює над VS Code та GitHub теж!
Нагєв

Це блок коду.
CivFan

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.