Portál AbcLinuxu, 7. května 2025 09:39
Ahoj, potřebuju poradit s chybou, která se mi vypisuje při použití balíku "tikz" společně s balíkem "babel".
\documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage[czech]{babel} %nelze pouzit! (vadi mu spec znak |- ) \usepackage{amsmath} % nice math symbols \usepackage{bm} % bold math \usepackage{tikz} \usetikzlibrary{arrows} % for arrow heads % TikZ styles for drawing \tikzstyle{block} = [draw,rectangle,thick,minimum height=1cm,minimum width=2cm] \tikzstyle{sum} = [draw,circle,inner sep=0mm,minimum size=5mm] \tikzstyle{connector} = [->,thick] \tikzstyle{line} = [thick] \tikzstyle{branch} = [circle,inner sep=0pt,minimum size=1mm,fill=black,draw=black] \tikzstyle{guide} = [] \begin{document} \begin{tikzpicture}[scale=1, auto, >=stealth'] \matrix[ampersand replacement=\&, row sep=0.5cm, column sep=1cm] { \node[guide] (u) {}; \& \node[branch] (u1) {}; \& \node[block] (F1) {$F_1$}; \& \node[guide] (y1) {}; \\ \& \& \node[block] (F2) {$F_2$}; \& \node[guide] (y2) {}; \\ }; % now link the nodes \draw [line] (u) -- node {$u$} (u1); \draw [connector] (u1) -- (F1); \draw [connector] (F1) -- node {$y_1$} (y1); \draw [connector] (u1) |- (F2); % !!! zde problem s usepackage[czech]{babel} !!! \draw [connector] (F2) -- node {$y_2$} (y2); \end{tikzpicture} \end{document}
Na označeném řádku mi pdflatex při použití balíku babel hlásí několik chyb. Přikládám i část výpisu logu.
! Use of \@next doesn't match its definition. l.41 \draw [connector] (u1) |- (F2); % !!! <--- problem s usepackage[cze... If you say, e.g., `\def\a1{...}', then you must always put `1' after `\a', since control sequence names are made up of letters only. The macro here has not been followed by the required stuff, so I'm ignoring it. Missing character: There is no ( in font nullfont! Missing character: There is no F in font nullfont! Missing character: There is no 2 in font nullfont! Missing character: There is no ) in font nullfont! Missing character: There is no ; in font nullfont! ! Extra }, or forgotten \endgroup. \endpgfpicture ... \pgf@x }\endgroup \hss \egroup \pgf@insertlayers \endgrou... l.45 \end{tikzpicture} I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'. ! Missing } inserted. < inserted text> } l.45 \end{tikzpicture} I've inserted something that you may have forgotten. (See the < inserted text> above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear. ! Extra }, or forgotten \endgroup. \endpgfpicture ...dpicture \endgroup \hss \egroup \pgfsys@typesetpicturebox ... l.45 \end{tikzpicture} I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'. ! Missing } inserted. < inserted text> } l.45 \end{tikzpicture} I've inserted something that you may have forgotten. (See the < inserted text> above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear. ! LaTeX Error: \begin{tikzpicture} on input line 23 ended by \end{document}. See the LaTeX manual or LaTeX Companion for explanation. Type H < return> for immediate help. ... l.47 \end{document} Your command was ignored. Type I < command> < return> to replace it with another command, or < return> to continue without it.
prosím o jakoukoli radu, díky
Řešení dotazu:
\documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage[czech]{babel} %nelze pouzit! (vadi mu spec znak |- ) \usepackage{amsmath} % nice math symbols \usepackage{bm} % bold math \usepackage{tikz} \usetikzlibrary{arrows} % for arrow heads % TikZ styles for drawing \tikzstyle{block} = [draw,rectangle,thick,minimum height=1cm,minimum width=2cm] \tikzstyle{sum} = [draw,circle,inner sep=0mm,minimum size=5mm] \tikzstyle{connector} = [->,thick] \tikzstyle{line} = [thick] \tikzstyle{branch} = [circle,inner sep=0pt,minimum size=1mm,fill=black,draw=black] \tikzstyle{guide} = [inner sep=0pt,minimum size=0mm] \begin{document} \begin{tikzpicture}[scale=1, auto, >=stealth'] \matrix[ampersand replacement=\&, row sep=0.5cm, column sep=1cm] { \node[guide] (u) {}; \& \node[branch] (u1) {}; \& \node[block] (F1) {$F_1$}; \& \node[guide] (y1) {}; \\ \& \node[guide] (u2) {}; \& \node[block] (F2) {$F_2$}; \& \node[guide] (y2) {}; \\ }; % now link the nodes \draw [line] (u) -- node {$u$} (u1); \draw [connector] (u1) -- (F1); \draw [connector] (F1) -- node {$y_1$} (y1); \draw [line] (u1) -- (u2); \draw [connector] (u2) -- (F2); \draw [connector] (F2) -- node {$y_2$} (y2); \end{tikzpicture} \end{document}Pokud by však někdo věděl, jak přesto tento operátor zalomené hrany (popřípadě i jiné znaky) použít i s balíkem "babel", prosím, dejte vědět. Díky, Jakub
\begin{tikzpicture}[scale=1, auto, >=stealth']
\shorthandoff{-}
PS. na takhle jasně položeny otázky (s funkčním kódem) je radost odpovídat :)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.