Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

22 Jan '15, 19:49

saputello's gravatar image

saputello
11.1k174365

In dem Fall ist das `\catcode`-Problem doppelt. Zu dem bekannten Problem innerhalb einer `frame`-Umgebung kommt noch: Die *Token* der Argumente eines Befehls (im Beispiel `\scalebox`) haben den `\catcode`, den sie beim Lesen des Arguments bekommen haben. Beim Lesen des Argument werden sie nicht ausgeführt, so dass die `tikzpicture`-Umgebung innerhalb des Arguments den `\catcode` von `"` nicht mehr ändern kann. Es gibt nun zwei Möglichkeiten, das Problem zu lösen: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary{angles,quotes,babel} \newsavebox\tikzsavebox \begin{document} \begin{lrbox}{\tikzsavebox} \begin{tikzpicture} \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C); \pic["$\ldotp$",draw] {angle}; \end{tikzpicture}% \end{lrbox} \begin{frame} \scalebox{2}{\usebox{\tikzsavebox}} \end{frame} \end{document} Wie Du siehst, braucht man hier nicht einmal mehr `fragile`. Die andere Möglichkeit besteht wieder darin, die *shorthands* das `babel` *shorthand* `"` zu deaktivieren, bevor das Argument gelesen wird: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary{angles,quotes,babel} \begin{document} \begin{frame}[fragile=singleslide] \shorthandoff{"} \scalebox{2}{% \begin{tikzpicture} \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C); \pic["$\ldotp$",draw] {angle}; \end{tikzpicture}% } \end{frame} \end{document} Was Dir besser gefällt, musst Du selbst entscheiden. Die `lrbox`-Variante ist universeller und dürfte auch für andere Zeichen funktionieren, die TikZ in einem ganz bestimmen `\catcode` benötigt. `lrbox` ist übrigens im [`usrguide`](http://www.ctan.org/pkg/usrguide) dokumentiert.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

22 Jan '15, 18:40

saputello's gravatar image

saputello
11.1k174365

In dem Fall ist das `\catcode`-Problem doppelt. Zu dem bekannten Problem innerhalb einer `frame`-Umgebung kommt noch: Die *Token* der Argumente eines Befehls (im Beispiel `\scalebox`) haben den `\catcode`, den sie beim Lesen des Arguments bekommen haben. Beim Lesen des Argument werden sie nicht ausgeführt, so dass `tikzpicture` die `tikzpicture`-Umgebung innerhalb des Arguments den `\catcode` von `"` nicht mehr ändern kann. Es gibt nun zwei Möglichkeiten, das Problem zu lösen: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary{angles,quotes,babel} \newsavebox\tikzsavebox \begin{document} \begin{lrbox}{\tikzsavebox} \begin{tikzpicture} \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C); \pic["$\ldotp$",draw] {angle}; \end{tikzpicture}% \end{lrbox} \begin{frame} \scalebox{2}{\usebox{\tikzsavebox}} \end{frame} \end{document} Wie Du siehst, braucht man hier nicht einmal mehr `fragile`. Die andere Möglichkeit besteht wieder darin, die *shorthands* zu deaktivieren, bevor das Argument gelesen wird: \documentclass[12pt]{beamer} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usetikzlibrary{angles,quotes,babel} \begin{document} \begin{frame}[fragile=singleslide] \shorthandoff{"} \scalebox{2}{% \begin{tikzpicture} \draw (2,-2) coordinate (A) -- (0,0) coordinate (B) -- (2,2) coordinate (C); \pic["$\ldotp$",draw] {angle}; \end{tikzpicture}% } \end{frame} \end{document} Was Dir besser gefällt, musst Du selbst entscheiden. Die `lrbox`-Variante ist universeller und dürfte auch für andere Zeichen funktionieren, die TikZ in einem ganz bestimmen `\catcode` benötigt. `lrbox` ist übrigens im [`usrguide`](http://www.ctan.org/pkg/usrguide) dokumentiert.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

22 Jan '15, 18:38

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

22 Jan '15, 18:37

saputello's gravatar image

saputello
11.1k174365