Wie kann ich ein Textfeld für eine Notiz in Markdown erstellen?

86

Ich schreibe ein Dokument in Abschrift. Ich benutze das wunderbare Pandoc, um DocX- und Tex-Dateien aus der Markdown-Quelle zu erstellen. Ich hätte gerne ein Textfeld für Tipps und Notizen für Leser, wie es Programmierbücher oft tun. Ich kann nicht herausfinden, wie das in Markdown geht. Kannst du helfen?

TJB
quelle
Microsoft verwendet hierfür in der Dokumentation eine eigene Syntax, die in Ihrer Umgebung jedoch wahrscheinlich nicht funktioniert. Zur Vollständigkeit und zum Vergleich mit den folgenden Antworten hier enthalten. github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/…
Brian

Antworten:

95

Was ich normalerweise mache, um Warnfelder (z. B. Hinweis oder Warnung) in Markdown-Texte einzufügen (nicht nur bei Verwendung von Pandoc, sondern auch überall dort, wo dieser Markdown unterstützt wird), umgibt den Inhalt mit zwei horizontalen Linien:

---
**NOTE**

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

---

das wäre so etwas:


HINWEIS

Es funktioniert mit allen Markdown-Varianten (die folgende leere Zeile ist wichtig).


Das Gute ist, dass Sie sich keine Gedanken darüber machen müssen, welche Markdown-Variante unterstützt wird oder welche Erweiterung installiert oder aktiviert ist.

EDIT : Wie @ filups21 in den Kommentaren erwähnt hat, scheint es, dass eine horizontale Linie ***in RMarkdown dargestellt wird. Die zuvor erwähnte Lösung funktioniert also nicht mit allen Markdown-Geschmacksrichtungen, wie ursprünglich behauptet wurde.

Karikaturist
quelle
4
Dies ist nützlich, aber es funktioniert nicht mit RMarkdown / Rstduio / Knitr
bjw
1
bjw - einer horizontalen Linie in rmarkdown ***geht eine leere Linie voraus. Alternativ können Sie die Notiz in ein Blockzitat einfügen, indem Sie die Zeile mit beginnen >(auch mit einer Leerzeile vorangestellt).
Filups21
80

Bei GitHub füge ich normalerweise ein Blockquote ein.

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

wird...

HINWEIS: Der Inhalt der Notiz.

Natürlich gibt es immer einfaches HTML ...

Vlad
quelle
@KamilSJaron: wie? Nein, sind sie nicht. Denken Sie über Codeblöcke nach?
naught101
@ naught101 Ah, ich habe blockquote als backquote gelesen. Dreifache Backquotes werden jedoch in der Tat nicht umbrochen.
Kamil S Jaron
3
Ich bevorzuge diese universelle Lösung. Ich verwende auch gerne Unicode-Emojis, um der Notiz ein Präfix zu geben, z. B. > ℹ️ This is an informationoder > ⚠️ This is a warning.
pierre_loic
1
Dies und der Tabellenkludge sind die einzigen Antworten, die diese Frage tragbar lösen. Der von der oberen Antwort vorgeschlagene harte Regelkludge zeigt kein Kästchen an und löst daher diese Frage nicht. In der Tat repliziert diese Antwort in Verbindung mit dem Unicode- Symbol- Mod von @ pierre_loic meistens reStructuredText-Notizen .
Cecil Curry
16

Die einfachste Lösung, die ich für genau dasselbe Problem gefunden habe, besteht darin, eine mehrzeilige Tabelle mit einer Zeile und ohne Überschrift zu verwenden (in der ersten Spalte befindet sich ein Bild und in der zweiten ein Text):

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

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

Ein anderer Ansatz, der möglicherweise funktioniert (für PDF), ist die Verwendung der Latex-Standard- fbox- Direktive:

 \fbox{My text!}

Oder das FancyBox-Modul für erweiterte Funktionen (und besser aussehende Boxen): http://www.ctan.org/tex-archive/macros/latex/contrib/fancybox .

Etienne Savard
quelle
1
Wissen Sie, ob es möglich ist zu definieren, wie die Pandoc-Markdown-Notiz in der Pandoc-Vorlagendatei aussehen soll? Bearbeiten Sie beispielsweise ~ / .pandoc / templates / default.latex?
Tmaric
11

Verwenden Sie die Ermahnungserweiterung . Für mkdocs kann es in der mkdocs.ymlDatei konfiguriert werden:

markdown_extensions:
    - admonition

Fügen Sie dann die Notiz wie folgt in Ihre MD-Dateien ein:

!!! note

     This is a note.

Sehen Sie ein Beispiel hier .

Boni García
quelle
8

Ähnlich wie bei der Lösung von Etienne lässt sich eine einfache Tabelle gut formatieren:

| | |
|-|-|
|`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.|

Eine andere Alternative (die stärker betont wird) besteht darin, den Inhalt zum Header einer Tabelle ohne Körper zu machen:

|`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.|
|-|-|

Schließlich können Sie eine horizontale Linie (thematische Unterbrechung) einfügen, um ein geschlossenes Feld zu erstellen (obwohl sich der Linienstil ein wenig von der Kopfzeile in der Tabelle unterscheidet):

| | |
|-|-|
|`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.|

---

Beachten Sie die leere Zeile nach dem Text.

Gordon Bean
quelle
Ich mag diese Lösung sehr, aber wenn ich sie über Pandoc und Xelatex in PDF konvertiere, scheint sie 50% für die NOTESpalte " " und 50% für die andere Spalte zuzuweisen . Man kann mehrzeilige Tabellen gemäß stackoverflow.com/questions/27219629 verwenden - aber dann gibt es andere Formatierungsprobleme.
SDBBS
6

Hier ist ein einfaches Beispiel auf Latexbasis.

---
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

was in ... endet: Geben Sie hier die Bildbeschreibung ein

Da es sich um Latex handelt, können Sie leider keinen Markdown mehr in die TODO-Box einfügen (was normalerweise kein großes Problem darstellt), und es funktioniert nicht, wenn Sie in andere Formate als PDF (z. B. HTML) konvertieren.

naught101
quelle
5

Die folgenden Methoden funktionieren auf GitHub, auf GitLab ... und auf Stackoverflow , das jetzt CommonMark verwendet !


> Einzeilige Box mit Blockquote

Einzeilige Box mit Blockquote


`One-Line Box mit Backticks`

One-Line Box made with Backticks


`` `
Box mit Triple Backticks`
``

Box made with Triple Backticks  


~ ~ ~
Box mit dreifachen Tilden
(entfernen Sie die Zwischenräume zwischen den Tilden, damit dies funktioniert)
~ ~ ~

Box made with Triple Tildes


Box mit vier Leerzeichen am Anfang jeder Zeile:

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


... oder horizontale Linien verwenden?

Drei Striche (---) bilden eine horizontale Linie:


Hinweis : „Ihr Fokus bestimmt Ihre Realität.“ - Qui-Gon Jinn.


Für weitere Konfigurationen empfehle ich dringend das ausgezeichnete GitLab Markdown-Handbuch .
Sie können auch die weniger detaillierte GitHub-Grundformatierungssyntax überprüfen .
Sie können Markdown-Implementierungen mit Babelmark vergleichen .

Nützliche Hinweise:

  • Um eine neue Zeile zu erzwingen, setzen Sie zwei Leerzeichen am Ende der Zeile.

  • Verwenden Sie \, um Sonderzeichen zu vermeiden.

Kotchwane
quelle
3

Haben Sie versucht, doppelte Tabulatoren zu verwenden? So machen Sie eine Box:

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

Es funktioniert für mich in einem regulären Rmarkdown-Dokument mit HTML-Ausgabe. Der Bereich mit zwei Registerkarten sollte in einem abgerundeten rechteckigen hellgrauen Feld angezeigt werden.

Cho Jay
quelle
Funktioniert auch mit VS Code und GitHub!
Nagev
Das ist ein Codeblock.
CivFan