Detect which TeX engine is used












35















How can I detect inside a TeX file which engine (pdftex/xetex/luatex) is used to compile the file? Is there a LaTeX package that provides this functionality?










share|improve this question



























    35















    How can I detect inside a TeX file which engine (pdftex/xetex/luatex) is used to compile the file? Is there a LaTeX package that provides this functionality?










    share|improve this question

























      35












      35








      35


      9






      How can I detect inside a TeX file which engine (pdftex/xetex/luatex) is used to compile the file? Is there a LaTeX package that provides this functionality?










      share|improve this question














      How can I detect inside a TeX file which engine (pdftex/xetex/luatex) is used to compile the file? Is there a LaTeX package that provides this functionality?







      xetex pdftex luatex






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 10 '11 at 19:06









      CaramdirCaramdir

      64.9k20214273




      64.9k20214273






















          3 Answers
          3






          active

          oldest

          votes


















          35














          Yes, there is — iftex. There are also ifxetex and ifluatex packages.



          Internally these packages rely on checking if engine-specific primitives exist, such as XeTeXversion.






          share|improve this answer

































            14














            Packages ifxetex, ifluatex, ifpdf. You can also look e.g. in hyperref to check how it detect which driver it should use.






            share|improve this answer



















            • 3





              ifpdf just detects pdf or dvi modes, you can not detect engine with it.

              – IRAN
              Mar 12 '11 at 2:00



















            10














            I am using the following code:



            %% ================================================================== 
            %%
            %% Macros specific for latex / pdflatex / xetex compilers
            %%
            usepackage{ifpdf,ifxetex,ifluatex}
            ifpdf
            typeout{^^J *** PDF mode *** }
            else
            typeout{^^J *** DVI mode ***}
            fi
            ifluatex
            typeout{ *** LuaLaTeX *** ^^J}
            % patch typein
            % see http://tex.stackexchange.com/questions/12435/incompatibilities-between-lualatex-and-typein
            makeatletter
            def@xtypein[#1]#2{%
            typeout{#2}%
            @tempcntaendlinechar
            endlinecharm@ne
            read@inputcheck to#1%
            endlinechar@tempcnta
            @typein}
            makeatother
            % LuaLaTeX specific code
            elseifxetex
            typeout{ *** XeLaTeX *** ^^J}
            % XeLaTeX specific code
            else
            typeout{ *** LaTeX *** ^^J}
            fifi
            typein{} % pause to watch result
            %% =====================================================================


            LuaLaTeX can run both in DVI and PDF modes.






            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "85"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f13172%2fdetect-which-tex-engine-is-used%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              35














              Yes, there is — iftex. There are also ifxetex and ifluatex packages.



              Internally these packages rely on checking if engine-specific primitives exist, such as XeTeXversion.






              share|improve this answer






























                35














                Yes, there is — iftex. There are also ifxetex and ifluatex packages.



                Internally these packages rely on checking if engine-specific primitives exist, such as XeTeXversion.






                share|improve this answer




























                  35












                  35








                  35







                  Yes, there is — iftex. There are also ifxetex and ifluatex packages.



                  Internally these packages rely on checking if engine-specific primitives exist, such as XeTeXversion.






                  share|improve this answer















                  Yes, there is — iftex. There are also ifxetex and ifluatex packages.



                  Internally these packages rely on checking if engine-specific primitives exist, such as XeTeXversion.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 11 '11 at 22:40

























                  answered Mar 10 '11 at 19:11









                  Andrey VihrovAndrey Vihrov

                  18.4k376103




                  18.4k376103























                      14














                      Packages ifxetex, ifluatex, ifpdf. You can also look e.g. in hyperref to check how it detect which driver it should use.






                      share|improve this answer



















                      • 3





                        ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                        – IRAN
                        Mar 12 '11 at 2:00
















                      14














                      Packages ifxetex, ifluatex, ifpdf. You can also look e.g. in hyperref to check how it detect which driver it should use.






                      share|improve this answer



















                      • 3





                        ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                        – IRAN
                        Mar 12 '11 at 2:00














                      14












                      14








                      14







                      Packages ifxetex, ifluatex, ifpdf. You can also look e.g. in hyperref to check how it detect which driver it should use.






                      share|improve this answer













                      Packages ifxetex, ifluatex, ifpdf. You can also look e.g. in hyperref to check how it detect which driver it should use.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Mar 10 '11 at 19:10









                      Ulrike FischerUlrike Fischer

                      198k9305692




                      198k9305692








                      • 3





                        ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                        – IRAN
                        Mar 12 '11 at 2:00














                      • 3





                        ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                        – IRAN
                        Mar 12 '11 at 2:00








                      3




                      3





                      ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                      – IRAN
                      Mar 12 '11 at 2:00





                      ifpdf just detects pdf or dvi modes, you can not detect engine with it.

                      – IRAN
                      Mar 12 '11 at 2:00











                      10














                      I am using the following code:



                      %% ================================================================== 
                      %%
                      %% Macros specific for latex / pdflatex / xetex compilers
                      %%
                      usepackage{ifpdf,ifxetex,ifluatex}
                      ifpdf
                      typeout{^^J *** PDF mode *** }
                      else
                      typeout{^^J *** DVI mode ***}
                      fi
                      ifluatex
                      typeout{ *** LuaLaTeX *** ^^J}
                      % patch typein
                      % see http://tex.stackexchange.com/questions/12435/incompatibilities-between-lualatex-and-typein
                      makeatletter
                      def@xtypein[#1]#2{%
                      typeout{#2}%
                      @tempcntaendlinechar
                      endlinecharm@ne
                      read@inputcheck to#1%
                      endlinechar@tempcnta
                      @typein}
                      makeatother
                      % LuaLaTeX specific code
                      elseifxetex
                      typeout{ *** XeLaTeX *** ^^J}
                      % XeLaTeX specific code
                      else
                      typeout{ *** LaTeX *** ^^J}
                      fifi
                      typein{} % pause to watch result
                      %% =====================================================================


                      LuaLaTeX can run both in DVI and PDF modes.






                      share|improve this answer




























                        10














                        I am using the following code:



                        %% ================================================================== 
                        %%
                        %% Macros specific for latex / pdflatex / xetex compilers
                        %%
                        usepackage{ifpdf,ifxetex,ifluatex}
                        ifpdf
                        typeout{^^J *** PDF mode *** }
                        else
                        typeout{^^J *** DVI mode ***}
                        fi
                        ifluatex
                        typeout{ *** LuaLaTeX *** ^^J}
                        % patch typein
                        % see http://tex.stackexchange.com/questions/12435/incompatibilities-between-lualatex-and-typein
                        makeatletter
                        def@xtypein[#1]#2{%
                        typeout{#2}%
                        @tempcntaendlinechar
                        endlinecharm@ne
                        read@inputcheck to#1%
                        endlinechar@tempcnta
                        @typein}
                        makeatother
                        % LuaLaTeX specific code
                        elseifxetex
                        typeout{ *** XeLaTeX *** ^^J}
                        % XeLaTeX specific code
                        else
                        typeout{ *** LaTeX *** ^^J}
                        fifi
                        typein{} % pause to watch result
                        %% =====================================================================


                        LuaLaTeX can run both in DVI and PDF modes.






                        share|improve this answer


























                          10












                          10








                          10







                          I am using the following code:



                          %% ================================================================== 
                          %%
                          %% Macros specific for latex / pdflatex / xetex compilers
                          %%
                          usepackage{ifpdf,ifxetex,ifluatex}
                          ifpdf
                          typeout{^^J *** PDF mode *** }
                          else
                          typeout{^^J *** DVI mode ***}
                          fi
                          ifluatex
                          typeout{ *** LuaLaTeX *** ^^J}
                          % patch typein
                          % see http://tex.stackexchange.com/questions/12435/incompatibilities-between-lualatex-and-typein
                          makeatletter
                          def@xtypein[#1]#2{%
                          typeout{#2}%
                          @tempcntaendlinechar
                          endlinecharm@ne
                          read@inputcheck to#1%
                          endlinechar@tempcnta
                          @typein}
                          makeatother
                          % LuaLaTeX specific code
                          elseifxetex
                          typeout{ *** XeLaTeX *** ^^J}
                          % XeLaTeX specific code
                          else
                          typeout{ *** LaTeX *** ^^J}
                          fifi
                          typein{} % pause to watch result
                          %% =====================================================================


                          LuaLaTeX can run both in DVI and PDF modes.






                          share|improve this answer













                          I am using the following code:



                          %% ================================================================== 
                          %%
                          %% Macros specific for latex / pdflatex / xetex compilers
                          %%
                          usepackage{ifpdf,ifxetex,ifluatex}
                          ifpdf
                          typeout{^^J *** PDF mode *** }
                          else
                          typeout{^^J *** DVI mode ***}
                          fi
                          ifluatex
                          typeout{ *** LuaLaTeX *** ^^J}
                          % patch typein
                          % see http://tex.stackexchange.com/questions/12435/incompatibilities-between-lualatex-and-typein
                          makeatletter
                          def@xtypein[#1]#2{%
                          typeout{#2}%
                          @tempcntaendlinechar
                          endlinecharm@ne
                          read@inputcheck to#1%
                          endlinechar@tempcnta
                          @typein}
                          makeatother
                          % LuaLaTeX specific code
                          elseifxetex
                          typeout{ *** XeLaTeX *** ^^J}
                          % XeLaTeX specific code
                          else
                          typeout{ *** LaTeX *** ^^J}
                          fifi
                          typein{} % pause to watch result
                          %% =====================================================================


                          LuaLaTeX can run both in DVI and PDF modes.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jun 15 '11 at 2:18









                          Igor KotelnikovIgor Kotelnikov

                          7,18464282




                          7,18464282






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f13172%2fdetect-which-tex-engine-is-used%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                              Calculate evaluation metrics using cross_val_predict sklearn

                              Insert data from modal to MySQL (multiple modal on website)