Escape-Zeichen
Escape-Zeichen ermöglichen es, Zeichen in Markdown darzustellen, die sonst eine besondere Bedeutung hätten. Durch das Hinzufügen eines Backslash \
vor einem Zeichen kann dessen Sonderfunktion aufgehoben werden.
Grundkonzept des Escapings
Was ist Escaping
In Markdown haben einige Zeichen eine besondere Bedeutung (z. B. *
für Hervorhebung). Wenn Sie diese Zeichen selbst anzeigen möchten, müssen Sie Escaping verwenden.
This is *italic* text.
This is \*a plain asterisk\* text.
Gerenderte Ausgabe:
This is italic text. This is *a plain asterisk* text.
Zeichen, die escaped werden müssen
Vollständige Liste
Die folgenden Zeichen haben in Markdown eine besondere Bedeutung und müssen escaped werden:
Zeichen | Beschreibung | Escape-Syntax | Verwendung |
---|---|---|---|
\ | Backslash | \\ | Escape-Zeichen |
` | Backtick | \` | Inline-Code |
* | Sternchen | \* | Hervorhebung, Listen |
_ | Unterstrich | \_ | Hervorhebung |
{} | Geschweifte Klammern | \{ \} | Erweiterte Syntax |
[] | Eckige Klammern | \[ \] | Links, Bilder |
() | Runde Klammern | \( \) | Links, Bilder |
# | Raute | \# | Überschriften |
+ | Plus | \+ | Listen |
- | Minus | \- | Listen, Trennlinie |
. | Punkt | \. | Nummerierte Listen |
! | Ausrufezeichen | \! | Bilder |
Häufige Escape-Beispiele
Sternchen und Unterstriche
❌ Nicht escaped:
This filename is file_name_v2.txt
This formula is 2*3*4 = 24
✅ Escaped:
This filename is file\_name\_v2.txt
This formula is 2\*3\*4 = 24
Gerenderte Ausgabe:
❌ Nicht escaped: This filename is file_name_v2.txt This formula is 234 = 24
✅ Escaped: This filename is file_name_v2.txt This formula is 2*3*4 = 24
Raute-Überschriften
❌ Nicht escaped:
# TODO: Finish the task
✅ Escaped:
\# TODO: Finish the task
Gerenderte Ausgabe:
❌ Nicht escaped:
TODO: Finish the task
✅ Escaped: # TODO: Finish the task
Listensymbole
❌ Nicht escaped:
Price: 100 - 200 USD
Steps: 1. Prepare 2. Execute
✅ Escaped:
Price: 100 \- 200 USD
Steps: 1\. Prepare 2\. Execute
Gerenderte Ausgabe:
❌ Nicht escaped: Price: 100 - 200 USD Steps: 1. Prepare 2. Execute
✅ Escaped: Price: 100 - 200 USD Steps: 1. Prepare 2. Execute
Link-Syntax
❌ Nicht escaped:
See the documentation [here](http://example.com)
✅ Escaped (zeigt Rohsyntax):
See the documentation \[here\]\(http://example.com\)
Gerenderte Ausgabe:
❌ Nicht escaped: See the documentation here
✅ Escaped (zeigt Rohsyntax): See the documentation [here](http://example.com)
Spezialfälle
Backslash selbst
Um ein Backslash-Zeichen darzustellen, verwenden Sie doppelte Backslashes:
File path: C:\\Users\\Username\\Documents
Unix path: /home/user/documents
Gerenderte Ausgabe:
File path: C:\Users\Username\Documents Unix path: /home/user/documents
Backticks escapen
Um Backticks im Code darzustellen:
Use `` \` `` to wrap code
Use ``` \`\`\` ``` to create code blocks
Gerenderte Ausgabe:
Use \`
to wrap code Use \`\`\`
to create code blocks
Backslash am Zeilenende
Ein Backslash am Zeilenende hat eine besondere Bedeutung (erzwungener Zeilenumbruch):
First line\
Second line (erzwungener Zeilenumbruch)
First line\\
Second line (zeigt Backslash)
Gerenderte Ausgabe:
First line
Second line (erzwungener Zeilenumbruch)
First line\ Second line (zeigt Backslash)
Escaping im Code
Inline-Code
Im Inline-Code müssen die meisten Zeichen nicht escaped werden:
Code: `let result = 2 * 3 + 1;`
Path: `C:\Users\*\Documents`
Gerenderte Ausgabe:
Code: let result = 2 * 3 + 1;
Path: C:\Users\*\Documents
Codeblöcke
In Codeblöcken bleiben Zeichen unverändert erhalten:
```javascript
// Diese Symbole müssen nicht escaped werden
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";
```
Gerenderte Ausgabe:
// Diese Symbole müssen nicht escaped werden
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";
Praktische Anwendungsszenarien
1. Technische Dokumentation
## Konfigurationsdatei-Syntax
Die Konfigurationsdatei verwendet folgendes Format:
# Kommentarzeile key = value [section]
Hinweis:
- Verwenden Sie \# für Kommentare
- Verwenden Sie \[\] für Sektionen
- Verwenden Sie \* als Platzhalter
2. Mathematische Ausdrücke
## Mathematische Formeln
Lineare Gleichung: y = a\*x + b
Quadratische Gleichung: y = a\*x² + b\*x + c
Bruch: 1/2 = 0.5
Hinweis: Verwenden Sie \* als Multiplikationsoperator
3. Dateipfade
## Dateisystem
Windows-Pfade:
- Systemverzeichnis: C:\\Windows\\System32
- Benutzerverzeichnis: C:\\Users\\{username}
- Programmverzeichnis: C:\\Program Files\\*
Linux-Pfade:
- Root-Verzeichnis: /
- Benutzerverzeichnis: /home/{username}
- Platzhalter: /var/log/\*.log
4. Erklärung spezieller Symbole
## Symbolbedeutungen
In der Programmierung:
- \* steht meist für Pointer oder Platzhalter
- \_ wird für Namenskonventionen verwendet (wie \_private)
- \# steht für Kommentare oder Präprozessor-Direktiven
- \[\] bedeutet Array oder optionaler Parameter
- \{\} bedeutet Codeblock oder Platzhalter
Best Practices für Escaping
1. Nur bei Bedarf escapen
✅ Empfohlen: Nur mehrdeutige Zeichen escapen
Filename: config.txt
Price: $10-20
❌ Nicht empfohlen: Übermäßiges Escaping
Filename: config\.txt
Price: \$10\-20
2. Konsistent bleiben
✅ Empfohlen: Konsistenter Escape-Stil
Variablennamen: user\_id, item\_count, max\_size
❌ Nicht empfohlen: Inkonsistente Behandlung
Variablennamen: user_id, item\_count, max_size
3. Code-Formatierung nutzen
Wenn viele Sonderzeichen vorkommen, empfiehlt sich die Code-Formatierung:
✅ Empfohlen: Code-Formatierung nutzen
Config-Syntax: `[section]` und `key=value`
❌ Nicht empfohlen: Übermäßiges Escaping
Config-Syntax: \[section\] und key\=value
Häufige Fehler
1. Escaping vergessen
❌ Falsch:
My GitHub username is user_name
This function is called get_data()
✅ Richtig:
My GitHub username is user\_name
This function is called get\_data()
2. Übermäßiges Escaping
❌ Falsch:
Today is 12\-25
This file is README\.md
✅ Richtig:
Today is 12-25
This file is README.md
3. Kontextfehler
❌ Falsch: Escaping im Codeblock
let path = "C:\Users\Name"; ← Kein doppeltes Escaping nötig
✅ Richtig:
let path = "C:\Users\Name";
HTML-Ausgabe
HTML-Ausgabe für Escape-Zeichen:
This is \*an asterisk\* text
Umgewandelt zu:
<p>This is *an asterisk* text</p>
Editoren und Tools
Editoren mit Escape-Vorschau
- Visual Studio Code: Markdown Preview Enhanced
- Typora: Echtzeit-Vorschau
- Mark Text: WYSIWYG
- Obsidian: Live-Rendering
Escape-Prüftools
<!-- markdownlint-Regeln -->
MD049: Konsistenz der Hervorhebungsmarker
MD050: Stil der Hervorhebungsmarker
Verwandte Syntax
- Hervorhebungssyntax – Verwendung von Sternchen und Unterstrichen
- Code-Syntax – Sonderzeichen im Code
- Link-Syntax – Klammern und runde Klammern
- Listensyntax – Listensymbole
Übung
Versuchen Sie, Folgendes korrekt darzustellen:
- Dateipfad:
C:\Program Files\*\config.ini
- Variablennamen:
user_id
,file_name
,max_count
- Mathematischer Ausdruck:
2*x + 3*y = 15
- Config-Syntax:
[section]
undkey=value
- Markdown-Syntax:
**bold**
und*italic*
Referenztabelle
Schnelle Escape-Referenz
Original | Escaped | Beschreibung |
---|---|---|
\ | \\ | Backslash |
* | \* | Sternchen |
_ | \_ | Unterstrich |
# | \# | Raute |
[ | \[ | Linke eckige Klammer |
] | \] | Rechte eckige Klammer |
( | \( | Linke runde Klammer |
) | \) | Rechte runde Klammer |
+ | \+ | Plus |
- | \- | Minus/Bindestrich |
. | \. | Punkt |
! | \! | Ausrufezeichen |