Portál AbcLinuxu, 31. října 2025 06:23
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
             10.12.2011 03:28
wamba             | skóre: 38
             | blog: wamba
        10.12.2011 03:28
wamba             | skóre: 38
             | blog: wamba
            
         \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.