Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 5
quotes Syntax bei TikZ

27 Sep '15, 16:32

esdd's gravatar image

esdd
17.8k304257

**Man benötigt `fragile` z.B. für folgende verbatim-ähnliche Umgebungen und Befehle:** - `verbatim` von Standard-LaTeX - `verbatim` und `verbatim*` vom Paket `verbatim` - `comment` vom Paket `comment` - `lstlisting` vom Paket `lstlisting` - `minted` vom Paket `minted` - `\verb` von Standard-LaTeX abhängig von den Zeichen, die man verbatim setzen möchte - `\lstinline` vom Paket `listings` abhängig von den Zeichen, die man als Listing setzen möchte - `alltt` des gleichnamigen Paketes abhängig von den Zeichen, die man in der Umgebung verwendet Ohne `fragile` funktionieren: - `semiverbatim`-Umgebung von `beamer` - `alltt` des gleichnamigen Paketes abhängig von den Zeichen, die man in der Umgebung verwendet - `\verb` von Standard-LaTeX abhängig von den Zeichen, die man verbatim setzen möchte. - `\lstinline` vom Paket `listings` abhängig von den Zeichen, die man als Listing setzen möchte - `algorithm` und `algorithmic` aus den Paketen `algorithm` bzw. `algorithmic` **Weitere Umgebungen und Pakete, bei denen man `fragile` braucht:** - die `tikzpicture`-Umgebung, wenn darin die `quotes` Syntax verwendet wird - die `matrix`-Umgebung von TikZ, wenn das Ampersand-Symbol darin nicht ersetzt wird - die `tikzcd`-Umgebung des `tikzcd`-Pakets aus selbem Grund wie TikZ' `matrix` - die `bytefield`-Umgebung des `bytefield`-Pakets **Mehr theoretische Antwort:** `fragil` wird immer dann benötigt, wenn mit Befehlen oder Umgebungen gearbeitet wird, die den `\catcode` ändern, bevor ein Argument oder der Inhalt einer Umgebung gelesen wird. Der Grund dafür ist darin zu suchen, wie das Paket normalerweise den Inhalt einer `frame`-Umgebung liest. Teilweise trifft das Paket Vorsorge, dass Befehle trotzdem funktionieren. Das geschieht aber nicht umfassend. So genügt beispielsweise die Verwendung von Das ist ein Prozent-Zeichen: \verb|%| oder das gleiche mit `\lstinline` in einer `frame`-Umgebung, um einen Fehler zu provozieren. Die Ursache liegt darin, dass die `frame`-Umgebung ihr Argument nicht wie eine gewöhnliche Umgebung, sondern eher wie ein Argument behandelt. Argumente werden aber komplett mit den *Category Codes* gelesen, die vor dem Lesens gelten. Änderungen innerhalb des Arguments gelten also nicht mehr für das Argument selbst.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

08 Jul '13, 13:12

saputello's gravatar image

saputello
11.1k174365

**Man benötigt `fragile` z.B. für folgende verbatim-ähnliche Umgebungen und Befehle:** - `verbatim` von Standard-LaTeX - `verbatim` und `verbatim*` vom Paket `verbatim` - `comment` vom Paket `comment` - `lstlisting` vom Paket `lstlisting` - `minted` vom Paket `minted` - `\verb` von Standard-LaTeX abhängig von den Zeichen, die man verbatim setzen möchte - `\lstinline` vom Paket `listings` abhängig von den Zeichen, die man als Listing setzen möchte - `alltt` des gleichnamigen Paketes abhängig von den Zeichen, die man in der Umgebung verwendet Ohne `fragile` funktionieren: - `semiverbatim`-Umgebung von `beamer` - `alltt` des gleichnamigen Paketes Paketes abhängig von den Zeichen, die man in der Umgebung verwendet - `\verb` von Standard-LaTeX abhängig von den Zeichen, die man verbatim setzen möchte. - `\lstinline` vom Paket `listings` abhängig von den Zeichen, die man als Listing setzen möchte - `algorithm` und `algorithmic` aus den Paketen `algorithm` bzw. `algorithmic` **Weitere Umgebungen und Pakete, bei denen man `fragile` braucht:** - die `matrix`-Umgebung von TikZ, wenn das Ampersand-Symbol darin nicht ersetzt wird - die `tikzcd`-Umgebung des `tikzcd`-Pakets aus selbem Grund wie TikZ' `matrix` - die `bytefield`-Umgebung des `bytefield`-Pakets **Mehr theoretische Antwort:** `fragil` wird immer dann benötigt, wenn mit Befehlen oder Umgebungen gearbeitet wird, die den `\catcode` ändern, bevor ein Argument oder der Inhalt einer Umgebung gelesen wird. Der Grund dafür ist darin zu suchen, wie das Paket normalerweise den Inhalt einer `frame`-Umgebung liest. Teilweise trifft das Paket Vorsorge, dass Befehle trotzdem funktionieren. Das geschieht aber nicht umfassend. So genügt beispielsweise die Verwendung von Das ist ein Prozent-Zeichen: \verb|%| oder das gleiche mit `\lstinline` in einer `frame`-Umgebung, um einen Fehler zu provozieren. Die Ursache liegt darin, dass die `frame`-Umgebung ihr Argument nicht wie eine gewöhnliche Umgebung, sondern eher wie ein Argument behandelt. Argumente werden aber komplett mit den *Category Codes* gelesen, die vor dem Lesens gelten. Änderungen innerhalb des Arguments gelten also nicht mehr für das Argument selbst.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

08 Jul '13, 13:09

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2
doppeltes allt korrigiert

07 Jul '13, 22:14

stefan's gravatar image

stefan
18.4k163148

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

07 Jul '13, 15:22

stefan's gravatar image

stefan
18.4k163148

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×