在我的前言中,我使用babel
加载希腊语以及txfontsb
希腊字母包。为了使用 gnuplot 创建图,我在命令-synctex=1 -interaction=nonstopmode -enable-write18
旁边使用了以下代码:。pdflatex
\documentclass[a4paper,11pt]{article}
\usepackage{pgfplots}
\usepackage{tkz-fct}
\usepackage{psfrag}
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{amsmath}
\usepackage[T1]{fontenc}
\usepackage{txfontsb}
\begin{document}
%Γράφημα
\begin{tikzpicture}[scale=1.25]
\tkzInit[xmin=-5,xmax=5,ymax=2]
\tkzGrid
\tkzAxeXY
\tkzFct[color=red]{2*x**2/(x**2+1)}
\end{tikzpicture}
\end{document}
当我禁用该\usepackage[english,greek]{babel}
命令时%
,一切都正常。但是当我使用它时,我收到以下错误:
Missing \endcsname inserted \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \endcsname \tkzFct[color=red]{2*x**2/(x**2+1)}
Missing \endcsname inserted \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \endcsname \tkzFct[color=red]{2*x**2/(x**2+1)}
Missing $ inserted \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra }, or forgotten $ \tkzFct[color=red]{2*x**2/(x**2+1)}
Extra \fi \tkzFct[color=red]{2*x**2/(x**2+1)}
Missing $ inserted \end{tikzpicture}
Missing } inserted \end{tikzpicture}
running in backwards compatibility mode (unsuitable tick labels; missing features). Consider writing \pgfplotsset{compat=1.11} into your preamble.
Overfull \hbox (41.38289pt too wide) in paragraph
我怎样才能让它们一起工作?
答案1
该tkz-fct
包用于制作内部标签,但在加载\alph
时失败,因为(实际上是内部版本)被重新定义为产生希腊字母。babel-greek
\alph
\@alph
这应该被认为是 中的一个错误tkz-fct
,但是有一个解决方法,尽管有点丑陋。
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makeatletter
% save a copy of the original \@alph command
\let\latex@alph\@alph
% a command to (locally) restore the original \@alph command
\newcommand{\safealph}{\let\@alph\latex@alph}
\makeatother
\usepackage[english,greek]{babel}
\usepackage{pgfplots}
\usepackage{tkz-fct}
\usepackage{amsmath}
\begin{document}
%Γράφημα
\begin{tikzpicture}[scale=1.25]
\safealph
\tkzInit[xmin=-5,xmax=5,ymax=2]
\tkzGrid
\tkzAxeXY
\tkzFct[color=red]{2*x**2/(x**2+1)}
\end{tikzpicture}
\end{document}