程序包 ifluatex 错误:名称冲突,\ifluatex 已定义

程序包 ifluatex 错误:名称冲突,\ifluatex 已定义

我格式化了我的 PC,然后安装了 MikTeX 和 TexStudio。现在我无法编译我的代码。出现的错误是:

Package ifluatex Error: Name clash, \ifluatex is already defined }

在格式化 PC 之前,一切都在编译,我不知道还能做什么。我清除了代码,但仍然出现相同的错误。

 \documentclass[12pt,a4paper, oneside, hidelinks]{abntex2}

\usepackage [utf8] {inputenc} 
\usepackage{lipsum} 
\usepackage{graphicx} 
\usepackage{leading}   
\usepackage{indentfirst} 
\usepackage{enumerate} 
\usepackage{setspace} 
\usepackage[footnotesize]{caption}
\usepackage{amsmath, amsthm, amssymb, amsfonts, amstext}
    \usepackage{color} 
    \usepackage{listings} 
    \usepackage[dvipsnames,table,xcdraw]{xcolor}
    \usepackage[bottom=2cm,top=3cm,left=3cm,right=2cm, headheight=17pt ]{geometry} 
    \renewcommand{\rmdefault}{phv} 
    \renewcommand{\sfdefault}{phv} 
    \usepackage{lastpage}
    \usepackage{multirow} 
    \usepackage[alf]{abntex2cite} 
    \usepackage{tikz}
    \usepackage{titlesec } 
    \usepackage{fancyhdr}


    \autor{xx }
    \titulo{xx}
    \local{xx}
    \data{xx}
    \preambulo{xxx}
    \tipotrabalho{xx}

    \begin{document}

    Hello

    \end{document}

该错误定义在文件日志文件的第 174 行,如下图所示:

在此处输入图片描述

“日志文件 ifluatex.sty”的完整文件如下。

        %%
    %% This is file `ifluatex.sty',
    %% generated with the docstrip utility.
    %%
    %% The original source files were:
    %%
    %% ifluatex.dtx  (with options: `package')
    %% 
    %% This is a generated file.
    %% 
    %% Project: ifluatex
    %% Version: 2016/05/16 v1.4
    %% 
    %% Copyright (C) 2007, 2009, 2010 by
    %%    Heiko Oberdiek <heiko.oberdiek at googlemail.com>
    %% 
    %% This work may be distributed and/or modified under the
    %% conditions of the LaTeX Project Public License, either
    %% version 1.3c of this license or (at your option) any later
    %% version. This version of this license is in
    %%    http://www.latex-project.org/lppl/lppl-1-3c.txt
    %% and the latest version of this license is in
    %%    http://www.latex-project.org/lppl.txt
    %% and version 1.3 or later is part of all distributions of
    %% LaTeX version 2005/12/01 or later.
    %% 
    %% This work has the LPPL maintenance status "maintained".
    %% 
    %% This Current Maintainer of this work is Heiko Oberdiek.
    %% 
    %% The Base Interpreter refers to any `TeX-Format',
    %% because some files are installed in TDS:tex/generic//.
    %% 
    %% This work consists of the main source file ifluatex.dtx
    %% and the derived files
    %%    ifluatex.sty, ifluatex.pdf, ifluatex.ins, ifluatex.drv,
    %%    ifluatex-test1.tex, ifluatex-test2.tex, ifluatex-test3.tex.
    %% 
    \begingroup\catcode61\catcode48\catcode32=10\relax%
      \catcode13=5 % ^^M
      \endlinechar=13 %
      \catcode35=6 % #
      \catcode39=12 % '
      \catcode44=12 % ,
      \catcode45=12 % -
      \catcode46=12 % .
      \catcode58=12 % :
      \catcode64=11 % @
      \catcode123=1 % {
      \catcode125=2 % }
      \expandafter\let\expandafter\x\csname [email protected]\endcsname
      \ifx\x\relax % plain-TeX, first loading
      \else
        \def\empty{}%
        \ifx\x\empty % LaTeX, first loading,
          % variable is initialized, but \ProvidesPackage not yet seen
        \else
          \expandafter\ifx\csname PackageInfo\endcsname\relax
            \def\x#1#2{%
              \immediate\write-1{Package #1 Info: #2.}%
            }%
          \else
            \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
          \fi
          \x{ifluatex}{The package is already loaded}%
          \aftergroup\endinput
        \fi
      \fi
    \endgroup%
    \begingroup\catcode61\catcode48\catcode32=10\relax%
      \catcode13=5 % ^^M
      \endlinechar=13 %
      \catcode35=6 % #
      \catcode39=12 % '
      \catcode40=12 % (
      \catcode41=12 % )
      \catcode44=12 % ,
      \catcode45=12 % -
      \catcode46=12 % .
      \catcode47=12 % /
      \catcode58=12 % :
      \catcode64=11 % @
      \catcode91=12 % [
      \catcode93=12 % ]
      \catcode123=1 % {
      \catcode125=2 % }
      \expandafter\ifx\csname ProvidesPackage\endcsname\relax
        \def\x#1#2#3[#4]{\endgroup
          \immediate\write-1{Package: #3 #4}%
          \xdef#1{#4}%
        }%
      \else
        \def\x#1#2[#3]{\endgroup
          #2[{#3}]%
          \ifx#1\@undefined
            \xdef#1{#3}%
          \fi
          \ifx#1\relax
            \xdef#1{#3}%
          \fi
        }%
      \fi
    \expandafter\x\csname [email protected]\endcsname
    \ProvidesPackage{ifluatex}%
      [2016/05/16 v1.4 Provides the ifluatex switch (HO)]%
    \begingroup\catcode61\catcode48\catcode32=10\relax%
      \catcode13=5 % ^^M
      \endlinechar=13 %
      \catcode123=1 % {
      \catcode125=2 % }
      \catcode64=11 % @
      \def\x{\endgroup
        \expandafter\edef\csname ifluatex@AtEnd\endcsname{%
          \endlinechar=\the\endlinechar\relax
          \catcode13=\the\catcode13\relax
          \catcode32=\the\catcode32\relax
          \catcode35=\the\catcode35\relax
          \catcode61=\the\catcode61\relax
          \catcode64=\the\catcode64\relax
          \catcode123=\the\catcode123\relax
          \catcode125=\the\catcode125\relax
        }%
      }%
    \x\catcode61\catcode48\catcode32=10\relax%
    \catcode13=5 % ^^M
    \endlinechar=13 %
    \catcode35=6 % #
    \catcode64=11 % @
    \catcode123=1 % {
    \catcode125=2 % }
    \def\TMP@EnsureCode#1#2{%
      \edef\ifluatex@AtEnd{%
        \ifluatex@AtEnd
        \catcode#1=\the\catcode#1\relax
      }%
      \catcode#1=#2\relax
    }
    \TMP@EnsureCode{10}{12}% ^^J
    \TMP@EnsureCode{39}{12}% '
    \TMP@EnsureCode{40}{12}% (
    \TMP@EnsureCode{41}{12}% )
    \TMP@EnsureCode{44}{12}% ,
    \TMP@EnsureCode{45}{12}% -
    \TMP@EnsureCode{46}{12}% .
    \TMP@EnsureCode{47}{12}% /
    \TMP@EnsureCode{58}{12}% :
    \TMP@EnsureCode{60}{12}% <
    \TMP@EnsureCode{94}{7}% ^
    \TMP@EnsureCode{96}{12}% `
    \edef\ifluatex@AtEnd{\ifluatex@AtEnd\noexpand\endinput}
    \begingroup\expandafter\expandafter\expandafter\endgroup
    \expandafter\ifx\csname PackageError\endcsname\relax
      \def\ifluatex@Error#1#2{%
        \begingroup
          \newlinechar=10 %
          \def\MessageBreak{^^J}%
          \edef\x{\errhelp{#2}}%
          \x
          \errmessage{Package ifluatex Error: #1}%
        \endgroup
      }%
    \else
      \def\ifluatex@Error{%
        \PackageError{ifluatex}%
      }%
    \fi
    \begingroup
      \expandafter\ifx\csname ifluatex\endcsname\relax
      \else
        \edef\i/{\expandafter\string\csname ifluatex\endcsname}%
        \ifluatex@Error{Name clash, \i/ is already defined}{%
          Incompatible versions of \i/ can cause problems,\MessageBreak
          therefore package loading is aborted.%
        }%
        \endgroup
        \expandafter\ifluatex@AtEnd
      \fi%
    \endgroup
    \let\ifluatex\iffalse
    \begingroup\expandafter\expandafter\expandafter\endgroup
    \expandafter\ifx\csname luatexversion\endcsname\relax
    \else
      \expandafter\let\csname ifluatex\expandafter\endcsname
                      \csname iftrue\endcsname
    \fi
    \ifluatex
    \else
      \begingroup\expandafter\expandafter\expandafter\endgroup
      \expandafter\ifx\csname directlua\endcsname\relax
      \else
        \expandafter\let\csname ifluatex\expandafter\endcsname
                        \csname iftrue\endcsname
        \begingroup
          \newlinechar=10 %
          \endlinechar=\newlinechar%
          \ifnum0%
              \directlua{%
                if tex.enableprimitives then
                  tex.enableprimitives('ifluatex', {'luatexversion'})
                  tex.print('1')
                end
              }%
              \ifx\ifluatexluatexversion\@undefined\else 1\fi %
              =11 %
            \global\let\luatexversion\ifluatexluatexversion%
          \else%
            \ifluatex@Error{%
              Missing \string\luatexversion%
            }{%
              Update LuaTeX.%
            }%
          \fi%
        \endgroup%
      \fi
    \fi
    \ifluatex
      \begingroup\expandafter\expandafter\expandafter\endgroup
      \expandafter\ifx\csname luatexrevision\endcsname\relax
        \ifnum\luatexversion<36 %
        \else
          \begingroup
            \ifx\luatexrevision\relax
              \let\luatexrevision\@undefined
            \fi
            \newlinechar=10 %
            \endlinechar=\newlinechar%
            \ifcase0%
                \directlua{%
                  if tex.enableprimitives then
                    tex.enableprimitives('ifluatex', {'luatexrevision'})
                  else
                    tex.print('1')
                  end
                }%
                \ifx\ifluatexluatexrevision\@undefined 1\fi%
                \relax%
              \global\let\luatexrevision\ifluatexluatexrevision%
            \fi%
          \endgroup%
        \fi
        \begingroup\expandafter\expandafter\expandafter\endgroup
        \expandafter\ifx\csname luatexrevision\endcsname\relax
          \ifluatex@Error{%
            Missing \string\luatexrevision%
          }{%
            Update LuaTeX.%
          }%
        \fi
      \fi
    \fi
    \begingroup
      \expandafter\ifx\csname PackageInfo\endcsname\relax
        \def\x#1#2{%
          \immediate\write-1{Package #1 Info: #2.}%
        }%
      \else
        \let\x\PackageInfo
        \expandafter\let\csname on@line\endcsname\empty
      \fi
      \x{ifluatex}{LuaTeX \ifluatex\else not \fi detected}%
    \endgroup
    \ifluatex@AtEnd%
    \endinput
    %%
    %% End of file `ifluatex.sty'.

答案1

找到解决方案了 !!!! 按照 @daleif 的建议,我在管理员和用户模式下更新了“MikTex 控制台”,问题就解决了。

非常感谢@daleif。

下面是显示管理员模式下控制台更新的图片,供大家查看。

在此处输入图片描述

答案2

确实,解决方案是更新。我今天开始遇到与您描述的相同问题,从图片中可以看出,一切都来自 2018 年:

在此处输入图片描述

更新后,问题得到解决。

相关内容