XeTeXProblems compiling with XeLaTeX

Information and discussion about XeTeX, an alternative for pdfTeX based on e-Tex
rais
Posts: 419
Joined: Sun Nov 16, 2014 8:51 pm

Problems compiling with XeLaTeX

Post by rais »

I stand corrected...

Perhaps you should inform the Open SuSE community about this problem.

Anyway, I'm running under TL`17 (where the problem you're facing, well, isn't a problem)

KR
Rainer

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org
LaTeX Beginner's Guide LaTeX Cookbook LaTeX TikZ graphics TikZによるLaTeXグラフィックス
User avatar
Stefan Kottwitz
Site Admin
Posts: 10290
Joined: Mon Mar 10, 2008 9:44 pm

Problems compiling with XeLaTeX

Post by Stefan Kottwitz »

Also I tested the code part that was posted in the meantime, and it worked with MacTeX 2017 (based on TeXLive 2017) without that error.

Stefan
LaTeX.org admin
fabioonier
Posts: 26
Joined: Thu Jul 06, 2017 5:37 am

Problems compiling with XeLaTeX

Post by fabioonier »

Hi, everybody.

I've tried to install TexLive 2017 in my Opensuse Leap 42.2 and always the TL2016 is installed. When I looked at the Opensuse page, it appears that the TL2017 is available for Opensuse Leap 42.3, which will be released in a few days.

I could solve the problem between pstricks and XeLaTeX updating the pstricks.sty file. Now my problem is with another package. Let me show you the error message:

(/usr/share/texmf/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2017/03/19 v0.25 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texmf/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
! Undefined control sequence.
l.191 \@PackageInfoNoLine
{pdftexcmds}{LuaTeX not detected}%
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.

As you can see, I tried to solve it updating the oberdiek package but it didn't work. What else can I do?

Thanks for your help.
User avatar
Stefan Kottwitz
Site Admin
Posts: 10290
Joined: Mon Mar 10, 2008 9:44 pm

Problems compiling with XeLaTeX

Post by Stefan Kottwitz »

Hi Fabio,

try \usepackage{infwarerr} before loading hyperref or other packages that use the oberdiek bundle. This package defines that macro \@PackageInfoNoLine.

Stefan
LaTeX.org admin
rais
Posts: 419
Joined: Sun Nov 16, 2014 8:51 pm

Problems compiling with XeLaTeX

Post by rais »

Hi Fabio,

if Stefan's tip doesn't cut it for you and you're still interested in trying out TeXlive 2017, there's a package on CTAN: texlive-dummy-opensuse, fooling the (Linux) package manager into believing TL is installed (to satisfy dependencies for other packages like kile).
With that, you should be able to install the current version of TL and keep it maintained with tlmgr, the TeXLive (package) manager.

(since I don't need a specially-for-TeX-designed editor or anything else from the repo's requiring TeX, I didn't even need that dummy package)

KR
Rainer
fabioonier
Posts: 26
Joined: Thu Jul 06, 2017 5:37 am

Problems compiling with XeLaTeX

Post by fabioonier »

Hi, Stefan. What you suggested worked. Thanks!

Now I have another error message (I don't know why XeLaTeX is son complicated!).

Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: pdfTeX >= 1.30 not detected.
! Undefined control sequence.
l.219 \ltx@IfUndefined
{pdftexversion}{%
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.219 \ltx@IfUndefined{p
dftexversion}{%
You're in trouble here. Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
! Undefined control sequence.
l.221 \ifnum\pdftexversion
>120 % 1.21a supports \ifeof18
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Missing number, treated as zero.
<to be read again>
>
l.221 \ifnum\pdftexversion>
120 % 1.21a supports \ifeof18
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

I have made my research and I don't get how to solve this new error.
User avatar
Stefan Kottwitz
Site Admin
Posts: 10290
Joined: Mon Mar 10, 2008 9:44 pm

Problems compiling with XeLaTeX

Post by Stefan Kottwitz »

Hm, can you add the command \listfiles to your document preamble, and post the .log file here, as attachment? Below the text edit field, when writing, there is an "Attachment" link.

I guess packages or the whole TeX installation is pretty outdated. \ltx@IfUndefined is a macro of the ltxcmds package, part of the oberdiek bundle, available since many years. I guess that should implicitly be loaded.

Perhaps make it yourself and add to your preamble:

\usepackage{ltxcmds}

Stefan
LaTeX.org admin
fabioonier
Posts: 26
Joined: Thu Jul 06, 2017 5:37 am

Problems compiling with XeLaTeX

Post by fabioonier »

Algebra_lineal.log
This is the LOG file.
(159.5 KiB) Downloaded 725 times
Hi, Stefan. I added the package ltxcmds in the preamble... and it worked!!!!!!!!!

I don't know why XeLaTeX is so complicated! But, for now, I'm very happy because there is no error message when I compile with XeLaTeX.

Just I got a new problem. After I compile with XeLaTeX the PDF output generated is wrong: it only shows one picture and nothing about the text or the rest of the book.

I attached the Log file.
User avatar
Stefan Kottwitz
Site Admin
Posts: 10290
Joined: Mon Mar 10, 2008 9:44 pm

Problems compiling with XeLaTeX

Post by Stefan Kottwitz »

Strange. Can you please attach the (mostly empty) pdf file of that run?

Stefan
LaTeX.org admin
fabioonier
Posts: 26
Joined: Thu Jul 06, 2017 5:37 am

Problems compiling with XeLaTeX

Post by fabioonier »

Hi, Stefan. I've been very busy these days and I coudn't answer before.

This is the file tha I get after compilation. It only shows the graphs made by \pstricks and they aren't shown completely.
Algebra_lineal.pdf
(44.62 KiB) Downloaded 641 times
I don't understand what is happening. It's like XeLaTeX is incompatible with pstricks. If it is the case, why it doesn't show the text instead of graphics?

I post the preamble of my document.

Code: Select all

\documentclass[letterpaper,reqno]{book}
\listfiles
\usepackage{makeidx}
\usepackage[spanish,es-nosectiondot]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fontspec}
\usepackage{infwarerr}
\usepackage{color}
\usepackage{verbatim} %Para comentar bloques de texto
\usepackage[text={168mm,240mm},centering]{geometry}%Define el ancho y la altura del texto (Página)
\usepackage{amssymb,amsmath,amsthm}
\usepackage{epsfig,graphicx,psfrag,float}
\usepackage{ltxcmds}
\usepackage[pdf]{pstricks}
\usepackage{pstricks-add,pst-math,pst-xkey,pst-pdf,auto-pst-pdf}
\usepackage[all]{xy}
\usepackage{tocloft}% Este paquete modifica los parámetros de la Tabla de Contenidos (ToC)
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{sectsty}
\usepackage{enumerate}
\usepackage{hyperref}

\makeindex

\DeclareMathOperator{\hocolim}{hocolim}
\DeclareMathOperator{\map}{map}
\DeclareMathOperator{\mor}{Mor}
\DeclareMathOperator{\ob}{Ob}
\DeclareMathOperator{\cone}{cone}
\DeclareMathOperator{\inc}{inc}
\DeclareMathOperator{\pr}{pr}
\DeclareMathOperator{\torsion}{torsion}
\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\coker}{coker}
\DeclareMathOperator{\iso}{Isom}
\DeclareMathOperator{\inte}{int}
\definecolor{Gris}{gray}{0.92}

%Se definen las tipografias que se van a usar: Calibri para titulos y Georgia para el cuerpo
\setmainfont{georgia.TTF}[%Fuente para el cuerpo
Path=/usr/share/fonts/Win10/,
BoldItalicFont=georgiaz.TTF,
BoldFont      =georgiab.TTF,
ItalicFont    =georgiai.TTF]

\newfontfamily\myfont{calibri.TTF}[%Fuente para secciones
Path=/usr/share/fonts/Win10/,
BoldItalicFont=calibriz.TTF,
BoldFont      =calibrib.TTF,
ItalicFont    =calibrii.TTF]

%Se redefinen las fuentes que se usarán en las secciones
\titleformat{\chapter}[display]
  {\huge\myfont}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\allsectionsfont{\myfont}


%Se redefinen los ambientes de lemma, theorem, definition, etc con las características solicitadas
\newtheoremstyle{lemma}% Nombre del ambiente
  {3pt}%      Space above
  {3pt}%      Space below
  {\itshape}% Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{lemma}
\newtheorem{lemma}{Lema}[chapter]

\newtheoremstyle{definition}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {\itshape}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{definition}
\newtheorem{definition}{Definición}[chapter]

\newtheoremstyle{proposition}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{proposition}
\newtheorem{proposition}[lemma]{Proposición}

\newtheoremstyle{theorem}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {\itshape}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{theorem}
\newtheorem{theorem}[lemma]{Teorema}

\newtheoremstyle{procedure}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{procedure}
\newtheorem{procedure}{\textbf{Procedimiento}}[chapter]

\newtheorem*{main}{Main Theorem}

\newtheoremstyle{corollary}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {\itshape}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{corollary}
\newtheorem{corollary}[lemma]{Corolario}

\newtheoremstyle{exercise}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{exercise}
\newtheorem{exercise}{}[chapter]

\newtheoremstyle{example}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{example}
\newtheorem{example}{Ejemplo}[chapter]
  
\newtheoremstyle{notation}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{notation}
\newtheorem{notation}{Notación}[chapter]

\newtheoremstyle{remark}% name
  {3pt}%      Space above
  {3pt}%      Space below
  {}%         Body font
  {}%         Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries}% Thm head font
  {}%        Punctuation after thm head
  {.5em}%     Space after thm head: " " = normal interword space;
        %       \newline = linebreak
  {}%         Thm head spec (can be left empty, meaning `normal')
\theoremstyle{remark}
\newtheorem{remark}{Observación}

\renewcommand{\chaptername}{Capítulo}

%Los siguientes \renewcommand son para modificar la manera en que aparecen los capítulos en la Tabla de Contenidos (paquete tocloft)
\renewcommand{\cftchappresnum}{Capítulo }%Aparece "Capítulo" antes del número correspondiente
\renewcommand{\cftchapaftersnum}{}%Lo que aparece después de "Capítulo n"
\renewcommand{\cftchapaftersnumb}{\\ }%Cambio de línea para que el Chapter name quede en otra línea
\renewcommand{\cftchapnumwidth}{0mm}

\pagestyle{myheadings}
\renewcommand{\chaptermark}[1]{%Se redefine la forma de los encabezados
\markboth{Álgebra lineal con el uso de MATLAB}{\chaptername\ \thechapter.\ #1}}

\numberwithin{lemma}{chapter}
\numberwithin{remark}{chapter}
\numberwithin{exercise}{section}
\numberwithin{definition}{chapter}

\begin{document}

\pagenumbering{roman}

\tableofcontents

\pagenumbering{arabic}

\addcontentsline{toc}{chapter}{Prefacio}

%\include{Prefacio} % si queremos que aparezca en el índice
\include{algebradematrices}
%\include{espaciosvectoriales}
%\include{transformacioneslineales}
%\include{ortogonalidad}
%\include{determinantes}
%\include{valorespropios}
%\include{Aplicaciones}
\appendix
%\include{comandosMATLAB}
\addcontentsline{toc}{chapter}{Índice alfabético}
%\include{Index}

\printindex

\end{document}
Thanks for your help.
Post Reply