texstudio-org / texstudio

TeXstudio is a fully featured LaTeX editor. Our goal is to make writing LaTeX documents as easy and comfortable as possible.
http://www.texstudio.org/
GNU General Public License v3.0
2.78k stars 344 forks source link

Crash: terminate called after throwing an instance of 'std::bad_alloc' #238

Closed ghost closed 6 years ago

ghost commented 6 years ago

Environment

Expected behavior

No crash.

Actual behavior

Crash, closing the window and yielding the following text at the terminal which was used to start texstudio:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted

How to reproduce

Start texstudio by doubleclicking file.tex or by typing "texstudio file.tex" (of course, only the latter gives the error message in the terminal).

The problem also occurs if $HOME/.config/texstudio has been deleted before the program start.

file.tex

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{MyriadPro}

\begin{document}

Text.

\end{document}

Gdb log

gdb texstudio GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from texstudio...(no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/texstudio [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe9105700 (LWP 17072)] [New Thread 0x7fffdec15700 (LWP 17098)] [New Thread 0x7fffde414700 (LWP 17099)] [New Thread 0x7fffdc97d700 (LWP 17100)] [New Thread 0x7fffc8ca8700 (LWP 17119)] [New Thread 0x7fffc3bd3700 (LWP 17120)] [New Thread 0x7fffc2f9c700 (LWP 17121)] [New Thread 0x7fffbbfff700 (LWP 17122)] [New Thread 0x7fffbae6d700 (LWP 17123)] [Thread 0x7fffbae6d700 (LWP 17123) exited] [New Thread 0x7fffbae6d700 (LWP 17126)] [New Thread 0x7fffba66c700 (LWP 17127)] [New Thread 0x7fffb9e6b700 (LWP 17128)] [New Thread 0x7fffb966a700 (LWP 17129)] [New Thread 0x7fffb8e69700 (LWP 17130)] [New Thread 0x7fff9ffff700 (LWP 17131)] [New Thread 0x7fff9f7fe700 (LWP 17132)] [New Thread 0x7fff9e534700 (LWP 17133)] Gtk-Message: 21:09:24.924: GtkDialog mapped without a transient parent. This is discouraged. [Thread 0x7fff9ffff700 (LWP 17131) exited] [Thread 0x7fffba66c700 (LWP 17127) exited] [Thread 0x7fffbae6d700 (LWP 17126) exited] [Thread 0x7fffb8e69700 (LWP 17130) exited] [Thread 0x7fffb9e6b700 (LWP 17128) exited] [Thread 0x7fffb966a700 (LWP 17129) exited] [New Thread 0x7fffb966a700 (LWP 17139)] [Thread 0x7fffb966a700 (LWP 17139) exited] [New Thread 0x7fffb966a700 (LWP 17140)] [Thread 0x7fffb966a700 (LWP 17140) exited] [New Thread 0x7fffb966a700 (LWP 17141)] [Thread 0x7fff9f7fe700 (LWP 17132) exited] [New Thread 0x7fff9f7fe700 (LWP 17142)] [Thread 0x7fff9f7fe700 (LWP 17142) exited] [New Thread 0x7fff9f7fe700 (LWP 17143)] [Thread 0x7fffb966a700 (LWP 17141) exited] [New Thread 0x7fffb966a700 (LWP 17144)] [New Thread 0x7fffb9e6b700 (LWP 17146)] [New Thread 0x7fffb8e69700 (LWP 17148)] [New Thread 0x7fffbae6d700 (LWP 17151)] [New Thread 0x7fff9dadb700 (LWP 17152)] [Thread 0x7fffbae6d700 (LWP 17151) exited] [Thread 0x7fff9f7fe700 (LWP 17143) exited] [Thread 0x7fffc2f9c700 (LWP 17121) exited] [Thread 0x7fff9dadb700 (LWP 17152) exited] terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

Thread 25 "LatexStyleParse" received signal SIGABRT, Aborted. [Switching to Thread 0x7fffb9e6b700 (LWP 17146)] __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) backtrace

0 0x00007ffff3e8be97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51

1 0x00007ffff3e8d801 in __GI_abort () at abort.c:79

2 0x00007ffff48808fb in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6

3 0x00007ffff4886d3a in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6

4 0x00007ffff4886d95 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6

5 0x00007ffff4886fe8 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6

6 0x00007ffff4e33402 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

7 0x00007ffff4ec54c5 in QString::QString(int, Qt::Initialization) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

8 0x00007ffff508df2d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

9 0x00007ffff4ec9d12 in QString::fromUtf8_helper(char const*, int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

10 0x00005555558ccb8f in LatexStyleParser::readPackageTracing(QString) const ()

11 0x00005555558d11d0 in LatexStyleParser::run() ()

12 0x00007ffff4e4d16d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

13 0x00007ffff4b896db in start_thread (arg=0x7fffb9e6b700) at pthread_create.c:463

14 0x00007ffff3f6e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

(gdb) quit A debugging session is active.

    Inferior 1 [process 17066] will be killed.

Quit anyway? (y or n) y

sunderme commented 6 years ago

please provide file.tex

ghost commented 6 years ago

Added MWE file.tex.

sunderme commented 6 years ago

where is MyriadPro.sty located ? That is probably causing the crash (txs scans unknown packages)

ghost commented 6 years ago

kpsewhich MyriadPro.sty /usr/local/share/texmf/tex/latex/MyriadPro/MyriadPro.sty

sunderme commented 6 years ago

either put a MyriadPro.cwl in .config/texstudio/completion/user (can be empty), don't use that package or provide it, so I could analyze it.

ghost commented 6 years ago

Thank you very much. Adding MyriadPro.cwl serves as a good workaround.

If I understand correctly, texstudio autocompletion / LatexStyleParser has a problem with the style file? The style file is compiled from https://github.com/sebschub/FontPro:

%%
%% This is file `MyriadPro.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% MyriadPro.dtx  (with options: `style')
%% 
%% These files are public domain.
%% 
   \NeedsTeXFormat{LaTeX2e}
   \ProvidesPackage{MyriadPro}         [2013/04/20 v0.5 MyriadPro support for LaTeX]
\newif\if@My@Text@
\newif\if@My@Math@
\newif\if@My@Sans@Math@
\newif\if@My@Math@Symbols@
\@My@Text@true
\@My@Math@false
\@My@Sans@Math@false
\@My@Math@Symbols@false
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
  family = My,
  prefix = My@
}
\DeclareVoidOption{onlytext}{\@My@Text@true\@My@Math@false}
\DeclareVoidOption{onlymath}{\@My@Text@false\@My@Math@true}
\DeclareVoidOption{math}{\@My@Math@true}
\DeclareVoidOption{sansmath}{\@My@Sans@Math@true}
\DeclareStringOption[1.]{scale}
\newcommand\My@myriadint@opticals{-NoOpticals}
\newcommand\My@myriadint@bold{-Bold}
\newcommand\My@mdsym@regular{regular}
\newcommand\My@mdsym@bold{bold}
\DeclareVoidOption{noopticals}{%
  \def\My@myriadint@opticals{-NoOpticals}%
  \PassOptionsToPackage{noopticals}{MyriadPro-FontDef}}
\DeclareVoidOption{smallfamily}{%
  \def\My@myriadint@bold{-Bold}%
  \PassOptionsToPackage{smallfamily}{MyriadPro-FontDef}}
\DeclareVoidOption{medfamily}{%
  \def\My@myriadint@bold{-Semibold}%
  \def\My@mdsym@regular{autoregular}%
  \def\My@mdsym@bold{autosemibold}%
  \PassOptionsToPackage{medfamily}{MyriadPro-FontDef}}
\DeclareVoidOption{normalsize}{%
  \PassOptionsToPackage{normalsize}{MyriadPro-FontDef}}
\newcommand\My@Text@Fig{OsF}
\newcommand\My@Math@Fig{OsF}
\newcommand\My@Text@Family{MyriadPro-\My@Text@Fig}
\newcommand\My@Math@Family{MyriadPro-\My@Math@Fig}
\newcommand\My@Math@TFamily{MyriadPro-T\My@Math@Fig}
\newcommand\My@Math@LetterShape{it}
\newcommand\Cr@Math@Family{CronosPro-\My@Math@Fig}
\newcommand\Cr@Math@TFamily{CronosPro-T\My@Math@Fig}
\DeclareVoidOption{textosf}{\def\My@Text@Fig{OsF}}
\DeclareVoidOption{textlf}{\def\My@Text@Fig{LF}}
\DeclareVoidOption{mathosf}{\def\My@Math@Fig{OsF}}
\DeclareVoidOption{mathlf}{\def\My@Math@Fig{LF}}
\DeclareVoidOption{osf}{\setkeys{My}{textosf,mathosf}}
\DeclareVoidOption{lf}{\setkeys{My}{textlf,mathlf}}
\DeclareVoidOption{mathtabular}{\let\My@Math@Family\My@Math@TFamily}
\RequirePackage{fltpoint}
\fpDecimalSign{.}
\newcommand*{\My@calc@scale}[2]{\fpMul{#1}{#2}{\My@scale}}
\newcommand*{\My@calc@bsize}[2]{\fpDiv{#1}{#2}{\My@scale}}
\newcommand\My@load@cal{}
\newcommand\My@load@sans@cal{}
\newcommand\My@load@cal@both{}
\newcommand\My@load@bb{}
\newcommand\My@load@sans@bb{}
\newcommand\My@load@bb@both{}
\newcommand\My@load@frak{}
\newcommand\My@load@sans@frak{}
\newcommand\My@load@frak@both{}
\newcommand*\my@if@boldtabular@math[1]{%
  \@ifundefined{mv@boldtabular}{}{#1}%
}
\DeclareVoidOption{cmsy}{%
  \def\My@load@cal@both{%
    \My@calc@scale{\mdcmsy@scale}{0.99}
    \My@calc@bsize{\mdcmsy@scalea}{6.}
    \My@calc@bsize{\mdcmsy@scaleb}{7.}
    \My@calc@bsize{\mdcmsy@scalec}{8.}
    \My@calc@bsize{\mdcmsy@scaled}{9.}
    \My@calc@bsize{\mdcmsy@scalee}{10.}
    \DeclareFontFamily{OMS}{mdcmsy}{\skewchar\font48 }
    \DeclareFontShape{OMS}{mdcmsy}{m}{n}{%
      <              -\mdcmsy@scalea>s*[\mdcmsy@scale] cmsy5
      <\mdcmsy@scalea-\mdcmsy@scaleb>s*[\mdcmsy@scale] cmsy6
      <\mdcmsy@scaleb-\mdcmsy@scalec>s*[\mdcmsy@scale] cmsy7
      <\mdcmsy@scalec-\mdcmsy@scaled>s*[\mdcmsy@scale] cmsy8
      <\mdcmsy@scaled-\mdcmsy@scalee>s*[\mdcmsy@scale] cmsy9
      <\mdcmsy@scalee-              >s*[\mdcmsy@scale] cmsy10
    }{}
    \DeclareFontShape{OMS}{mdcmsy}{b}{n}{%
      <              -\mdcmsy@scaleb>s*[\mdcmsy@scale] cmbsy5
      <\mdcmsy@scaleb-\mdcmsy@scalee>s*[\mdcmsy@scale] cmbsy7
      <\mdcmsy@scalee-              >s*[\mdcmsy@scale] cmbsy10
    }{}
  }
  \def\My@load@cal{%
    \DeclareMathAlphabet{\mathcal}{OMS}{mdcmsy}{m}{n}%
    \SetMathAlphabet{\mathcal}{bold}{OMS}{mdcmsy}{b}{n}%
    \SetMathAlphabet{\mathcal}{boldtabular}{OMS}{mdcmsy}{b}{n}%
  }%
  \def\My@load@sans@cal{%
    \@ifundefined{mathcal}{%
      \DeclareMathAlphabet{\mathcal}{OMS}{mdcmsy}{m}{n}}
    \SetMathAlphabet{\mathcal}{sans}{OMS}{mdcmsy}{m}{n}%
    \SetMathAlphabet{\mathcal}{sansbold}{OMS}{mdcmsy}{b}{n}%
    \SetMathAlphabet{\mathcal}{sanstabular}{OMS}{mdcmsy}{m}{n}%
    \SetMathAlphabet{\mathcal}{sansboldtabular}{OMS}{mdcmsy}{b}{n}%
  }%
}
\DeclareVoidOption{abx}{%
  \def\My@load@cal@both{
    \My@calc@scale{\mdmathc@scale}{0.99}
    \DeclareFontFamily{OT1}{mdmathc}{}%
    \DeclareFontShape{OT1}{mdmathc}{m}{n}{ <->s*[\mdmathc@scale] mathc10 }{}%
  }
  \def\My@load@cal{%
    \DeclareMathAlphabet\mathcal{OT1}{mdmathc}{m}{n}%
  }%
  \def\My@load@sans@cal{%
    \@ifundefined{mathcal}{%
      \DeclareMathAlphabet{\mathcal}{OT1}{mdmathc}{m}{n}}%
    \SetMathAlphabet{\mathcal}{sans}{OT1}{mdmathc}{m}{n}%
    \SetMathAlphabet{\mathcal}{sansbold}{OT1}{mdmathc}{m}{n}%
  }%
}
\DeclareStringOption[false]{crswash}[noptsmall]
\DeclareVoidOption{amsbb}{
  \def\My@load@bb@both{
    \My@calc@scale{\mdmsb@scale}{1.}
    \My@calc@bsize{\mdmsb@scalea}{6.}
    \My@calc@bsize{\mdmsb@scaleb}{7.}
    \My@calc@bsize{\mdmsb@scalec}{8.}
    \My@calc@bsize{\mdmsb@scaled}{9.}
    \My@calc@bsize{\mdmsb@scalee}{10.}
    \DeclareFontFamily{U}{mdmsb}{}
    \DeclareFontShape{U}{mdmsb}{m}{n}{%
      <             -\mdmsb@scalea>s*[\mdmsb@scale] msbm5%
      <\mdmsb@scalea-\mdmsb@scaleb>s*[\mdmsb@scale] msbm6%
      <\mdmsb@scaleb-\mdmsb@scalec>s*[\mdmsb@scale] msbm7%
      <\mdmsb@scalec-\mdmsb@scaled>s*[\mdmsb@scale] msbm8%
      <\mdmsb@scaled-\mdmsb@scalee>s*[\mdmsb@scale] msbm9%
      <\mdmsb@scalee-             >s*[\mdmsb@scale] msbm10%
    }{}
  }
  \def\My@load@bb{%
    \let\mathbb\@undefined%
    \let\Bbbk\@undefined%
    \DeclareMathAlphabet\mathbb{U}{mdmsb}{m}{n}%
    \newcommand\Bbbk{\mathbb{\mathchar"717C}}}
  \def\My@load@sans@bb{%
    \ifundef{\mathbb}{%
      \DeclareMathAlphabet\mathbb{U}{mdmsb}{m}{n}}{}%
    \SetMathAlphabet{\mathbb}{sans}{U}{mdmsb}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansbold}{U}{mdmsb}{m}{n}%
    \SetMathAlphabet{\mathbb}{sanstabular}{U}{mdmsb}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansboldtabular}{U}{mdmsb}{m}{n}%
    \mdsy@renewcommand{Bbbk}{\mathbb{\mathchar"717C}}}
}
\DeclareVoidOption{lucidabb}{
  \def\My@load@bb@both{
    \My@calc@scale{\mdhlcm@scale}{0.96}
    \DeclareFontFamily{U}{mdhlcm}{}
    \DeclareFontShape{U}{mdhlcm}{m}{n}{ <->s*[\mdhlcm@scale] hlcra }{}
  }
  \def\My@load@bb{
    \let\mathbb\@undefined
    \let\Bbbk\@undefined
    \DeclareMathAlphabet\mathbb{U}{mdhlcm}{m}{n}
    \newcommand\Bbbk{\mathbb{k}}}
  \def\My@load@sans@bb{
    \ifundef{\mathbb}{%
      \DeclareMathAlphabet\mathbb{U}{mdhlcm}{m}{n}}{}%
    \SetMathAlphabet{\mathbb}{sans}{U}{mdhlcm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansbold}{U}{mdhlcm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sanstabular}{U}{mdhlcm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansboldtabular}{U}{mdhlcm}{m}{n}%
    \mdsy@renewcommand{Bbbk}{\mathbb{k}}}
}
\DeclareVoidOption{fourierbb}{
  \def\My@load@bb@both{
    \My@calc@scale{\mdfutm@scale}{0.99}
    \DeclareFontFamily{U}{mdfutm}{}
    \DeclareFontShape{U}{mdfutm}{m}{n}{ <->s*[\mdfutm@scale] fourier-bb }{}
  }
  \def\My@load@bb{
    \let\mathbb\@undefined
    \let\Bbbk\@undefined
    \DeclareMathAlphabet\mathbb{U}{mdfutm}{m}{n}
    \newcommand\Bbbk{\mathbb{k}}}
  \def\My@load@sans@bb{
    \ifundef{\mathbb}{%
      \DeclareMathAlphabet\mathbb{U}{mdfutm}{m}{n}}{}%
    \SetMathAlphabet{\mathbb}{sans}{U}{mdfutm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansbold}{U}{mdfutm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sanstabular}{U}{mdfutm}{m}{n}%
    \SetMathAlphabet{\mathbb}{sansboldtabular}{U}{mdfutm}{m}{n}%
    \mdsy@renewcommand{Bbbk}{\mathbb{k}}}
}
\def\My@load@frak@both{%
  \My@calc@scale{\mdeuf@scale}{1.}
  \My@calc@bsize{\mdeuf@scalea}{6.}
  \My@calc@bsize{\mdeuf@scaleb}{7.}
  \My@calc@bsize{\mdeuf@scalec}{8.}
  \My@calc@bsize{\mdeuf@scaled}{9.}
  \My@calc@bsize{\mdeuf@scalee}{10.}
  \DeclareFontFamily{U}{mdeuf}{}
  \DeclareFontShape{U}{mdeuf}{m}{n}{
    <             -\mdeuf@scaleb>s*[\mdeuf@scale] eufm5
    <\mdeuf@scaleb-\mdeuf@scalee>s*[\mdeuf@scale] eufm7
    <\mdeuf@scalee-             >s*[\mdeuf@scale] eufm10
  }{}
  \DeclareFontShape{U}{mdeuf}{b}{n}{
    <             -\mdeuf@scaleb>s*[\mdeuf@scale] eufb5
    <\mdeuf@scaleb-\mdeuf@scalee>s*[\mdeuf@scale] eufb7
    <\mdeuf@scalee-             >s*[\mdeuf@scale] eufb10
  }{}
}
\def\My@load@frak{%
  \DeclareMathAlphabet{\mathfrak}{U}{mdeuf}{m}{n}
  \SetMathAlphabet{\mathfrak}{bold}{U}{mdeuf}{b}{n}
  \SetMathAlphabet{\mathfrak}{boldtabular}{U}{mdeuf}{b}{n}
  \DeclareRobustCommand{\Re}{\mathfrak{R}}
  \DeclareRobustCommand{\Im}{\mathfrak{I}}
}
\def\My@load@sans@frak{%
  \ifundef{\mathfrak}{%
    \DeclareMathAlphabet{\mathfrak}{U}{mdeuf}{m}{n}%
    \SetMathAlphabet{\mathfrak}{bold}{U}{mdeuf}{b}{n}%
    \my@if@boldtabular@math{\SetMathAlphabet{\mathfrak}{boldtabular}{U}{mdeuf}{b}{n}}%
  }{}
  \@ifpackageloaded{eufrak}{%
    \SetMathAlphabet{\EuFrak}{sans}{U}{mdeuf}{m}{n}%
    \SetMathAlphabet{\EuFrak}{sansbold}{U}{mdeuf}{b}{n}%
    \SetMathAlphabet{\EuFrak}{sanstabular}{U}{mdeuf}{m}{n}%
    \SetMathAlphabet{\EuFrak}{sansboldtabular}{U}{mdeuf}{b}{n}%
  }{%
    \SetMathAlphabet{\mathfrak}{sans}{U}{mdeuf}{m}{n}%
    \SetMathAlphabet{\mathfrak}{sansbold}{U}{mdeuf}{b}{n}%
    \SetMathAlphabet{\mathfrak}{sanstabular}{U}{mdeuf}{m}{n}%
    \SetMathAlphabet{\mathfrak}{sansboldtabular}{U}{mdeuf}{b}{n}%
  }
  \mdsy@DeclareRobustCommand{Re}{\mathfrak{R}}
  \mdsy@DeclareRobustCommand{Im}{\mathfrak{I}}
}
\newcommand\My@load@greek{\My@greek@Mixed}
\def\My@greek@upper{up}%
\def\My@greek@lower{it}%
\DeclareVoidOption{frenchmath}{%
  \def\My@greek@upper{up}%
  \def\My@greek@lower{up}%
  \def\My@Math@LetterShape{n}%
}
\DeclareVoidOption{mixedgreek}{%
  \def\My@greek@upper{up}%
  \def\My@greek@lower{it}%
}
\DeclareVoidOption{italicgreek}{%
  \def\My@greek@upper{it}%
  \def\My@greek@lower{it}%
}
\newcommand\My@load@integrals{}
\DeclareVoidOption{myriadint}{\def\My@load@integrals{\My@Decl@Myriad@Ints}}
\DeclareVoidOption{footnotefigures}{%
  \def\@makefnmark{%
    \begingroup
    \normalfont
    \fontfamily{MyriadPro-Extra}\fontencoding{U}\selectfont
    \@thefnmark
    \endgroup}%
  \@ifundefined{KOMAClassName}{}{\deffootnote[1em]{1.5em}{1em}{%
      \fontfamily{MyriadPro-Extra}\fontencoding{U}\selectfont\thefootnotemark}}}
\newcommand\My@Quote@Spacing{}
\DeclareVoidOption{loosequotes}{%
  \def\My@Quote@Spacing{\My@Quote@Spacing@Loose}}
\setkeys{My}{amsbb}
\setkeys{My}{cmsy}
\ProcessKeyvalOptions{My}\relax
\if@My@Math@
  \@My@Math@Symbols@true
\fi
\if@My@Sans@Math@
  \@My@Math@Symbols@true
\fi
\RequirePackage{ifthen}
\ifthenelse{\equal{\My@crswash}{false}}{}{%
  \def\My@load@cal@both{
    \My@calc@scale{\Cr@scale}{1.08}
    \ifthenelse{\equal{\My@crswash}{noptsmall}}{%
      \RequirePackage{CronosPro-FontDef}}{}
    \ifthenelse{\equal{\My@crswash}{optsmall}}{%
      \RequirePackage[opticals]{CronosPro-FontDef}}{}
    \ifthenelse{\equal{\My@crswash}{noptmed}}{%
      \RequirePackage[medfamily]{CronosPro-FontDef}}{}
    \ifthenelse{\equal{\My@crswash}{optmed}}{%
      \RequirePackage[opticals,medfamily]{CronosPro-FontDef}}{}}
  \def\My@load@cal{
    \DeclareMathAlphabet\mathcal         {T1}{\Cr@Math@Family} {m}{sw}
    \SetMathAlphabet\mathcal{bold}       {T1}{\Cr@Math@Family} {b}{sw}
    \SetMathAlphabet\mathcal{tabular}    {T1}{\Cr@Math@TFamily}{m}{sw}
    \SetMathAlphabet\mathcal{boldtabular}{T1}{\Cr@Math@TFamily}{b}{sw}}
  \def\My@load@sans@cal{
    \@ifundefined{mathcal}{%
      \DeclareMathAlphabet\mathcal           {T1}{\Cr@Math@Family}{m}{sw}}
    \SetMathAlphabet\mathcal{sans}           {T1}{\Cr@Math@Family}{m}{sw}
    \SetMathAlphabet\mathcal{sansbold}       {T1}{\Cr@Math@Family}{b}{sw}
    \SetMathAlphabet\mathcal{sanstabular}    {T1}{\Cr@Math@Family}{m}{sw}
    \SetMathAlphabet\mathcal{sansboldtabular}{T1}{\Cr@Math@Family}{b}{sw}}}
\RequirePackage{MyriadPro-FontDef}
\@ifpackageloaded{textcomp}{}{\RequirePackage{textcomp}}

\if@My@Math@
  \DeclareMathVersion{tabular}
  \DeclareMathVersion{boldtabular}
  \RequirePackage[normalweight=\My@mdsym@regular,boldweight=\My@mdsym@bold,scale=\My@scale]{mdsymbol}[2012/01/07]
\else
  \if@My@Sans@Math@
    \RequirePackage[normalweight=\My@mdsym@regular,boldweight=\My@mdsym@bold,scale=\My@scale,onlysansmath]{mdsymbol}[2012/01/07]
  \fi
\fi
\if@My@Text@
  \edef\sfdefault{\My@Text@Family}
  \let\ibycusdefault\My@Text@Family
  \def\My@Quote@Spacing@Loose{%
    \@ifpackageloaded{microtype}{}{\RequirePackage[kerning=true]{microtype}}
    \@ifundefined{SetExtraKerning}{}{
      \let\My@Set@Quote@Spacing\SetExtraKerning}
  }
  \newcommand*\My@Set@Quote@Spacing[3][]{}
  \My@Quote@Spacing
  \My@Set@Quote@Spacing
    [ unit = 1em ]
    { encoding = {OT1,T1,LGR,U,OT2,T2A,T2B,T2C,T5,X2,LY1},
      family   = {MyriadPro-OsF,MyriadPro-LF,MyriadPro-TOsF,MyriadPro-TLF},
      shape    = {n,it} }
    { \textquotedblleft = {30,30},  \textquotedblright = {30,30},
      \textquoteleft    = {30,30},  \textquoteright    = {30,30} }
\fi
\if@My@Math@
  \DeclareSymbolFont{operators}  {T1} {\My@Math@Family}{m} {n}
  \DeclareSymbolFont{letters}    {OML}{MyriadPro-TOsF} {m} {\My@Math@LetterShape}
  \SetSymbolFont{operators}{bold}{T1} {\My@Math@Family}{b}{n}
  \SetSymbolFont{letters}  {bold}{OML}{MyriadPro-TOsF} {b}{\My@Math@LetterShape}
  \DeclareMathAlphabet\mathbf    {T1} {\My@Math@Family}{b}{n}
  \DeclareMathAlphabet\mathsf    {T1} {\My@Math@Family}{m} {n}
  \SetMathAlphabet\mathsf  {bold}{T1} {\My@Math@Family}{b}{n}
  \DeclareMathAlphabet\mathit    {T1} {\My@Math@Family}{m} {it}
  \SetMathAlphabet\mathit  {bold}{T1} {\My@Math@Family}{b}{it}
  \SetSymbolFont{operators}{tabular}    {T1} {\My@Math@TFamily}{m}{n}
  \SetSymbolFont{letters}  {tabular}    {OML}{MyriadPro-TOsF}  {m}{\My@Math@LetterShape}
  \SetMathAlphabet\mathit  {tabular}    {T1} {\My@Math@TFamily}{m}{it}

  \SetSymbolFont{operators}{boldtabular}{T1} {\My@Math@TFamily}{b}{n}
  \SetSymbolFont{letters}  {boldtabular}{OML}{MyriadPro-TOsF}  {b}{\My@Math@LetterShape}
  \SetMathAlphabet\mathit  {boldtabular}{T1} {\My@Math@TFamily}{b}{it}
  \My@load@bb@both
  \My@load@bb
  \My@load@frak@both
  \My@load@frak
  \My@load@cal@both
  \My@load@cal
\fi
\if@My@Sans@Math@

  \newcommand\IfSymbolFont[3]{\@ifundefined{sym#1}{#3}{#2}}

  \DeclareMathAlphabet\mathsf             {T1}{\My@Math@Family} {m}{n}
  \SetMathAlphabet\mathsf{bold}           {T1}{\My@Math@Family} {b}{n}
  \SetMathAlphabet\mathsf{sansbold}       {T1}{\My@Math@Family} {b}{n}
  \SetMathAlphabet\mathsf{sanstabular}    {T1}{\My@Math@TFamily}{m}{n}
  \SetMathAlphabet\mathsf{sansboldtabular}{T1}{\My@Math@TFamily}{b}{n}

  \SetMathAlphabet\mathit{sans}           {T1}{\My@Math@Family} {m}{it}
  \SetMathAlphabet\mathit{sansbold}       {T1}{\My@Math@Family} {b}{it}
  \SetMathAlphabet\mathit{sanstabular}    {T1}{\My@Math@TFamily}{m}{it}
  \SetMathAlphabet\mathit{sansboldtabular}{T1}{\My@Math@TFamily}{b}{it}

  \SetMathAlphabet\mathbf{sans}       {T1}{\My@Math@Family} {b}{n}
  \SetMathAlphabet\mathbf{sanstabular}{T1}{\My@Math@TFamily}{b}{n}

  \IfSymbolFont{operators}{%
    \SetSymbolFont{operators}{sans}{T1}{\My@Math@Family}{m}{n}
  }{%
    \DeclareSymbolFont{operators}  {T1}{\My@Math@Family}{m}{n}
  }
  \SetSymbolFont{operators}{sansbold}       {T1}{\My@Math@Family} {b}{n}
  \SetSymbolFont{operators}{sanstabular}    {T1}{\My@Math@TFamily}{m}{n}%
  \SetSymbolFont{operators}{sansboldtabular}{T1}{\My@Math@TFamily}{b}{n}%

  \IfSymbolFont{letters}{%
    \SetSymbolFont{letters}{sans}{OML}{MyriadPro-OsF}{m}{\My@Math@LetterShape}
  }{%
    \DeclareSymbolFont{letters}  {OML}{MyriadPro-OsF}{m}{\My@Math@LetterShape}
  }
  \SetSymbolFont{letters}{sansbold}       {OML}{MyriadPro-OsF} {b}{\My@Math@LetterShape}
  \SetSymbolFont{letters}{sanstabular}    {OML}{MyriadPro-TOsF}{m}{\My@Math@LetterShape}
  \SetSymbolFont{letters}{sansboldtabular}{OML}{MyriadPro-TOsF}{b}{\My@Math@LetterShape}

  \My@load@cal@both
  \My@load@sans@cal
  \My@load@bb@both
  \My@load@sans@bb
  \My@load@frak@both
  \My@load@sans@frak
  \mdsy@DeclareRobustCommandArg{boldsymbol}{1}{%
    \begingroup
    \let\@nomath\@gobble \mathversion{sansbold}%
    \math@atom{#1}{%
      \mathchoice%
      {\hbox{$\m@th\displaystyle#1$}}%
      {\hbox{$\m@th\textstyle#1$}}%
      {\hbox{$\m@th\scriptstyle#1$}}%
      {\hbox{$\m@th\scriptscriptstyle#1$}}}%
    \endgroup}
 \fi
  \if@My@Math@Symbols@
    \mdsy@DeclareMathAccent{grave}   {\mathalpha}{operators}{0}
    \mdsy@DeclareMathAccent{acute}   {\mathalpha}{operators}{1}
    \mdsy@DeclareMathAccent{hat}     {\mathalpha}{operators}{2}
    \mdsy@DeclareMathAccent{tilde}   {\mathalpha}{operators}{3}
    \mdsy@DeclareMathAccent{ddot}    {\mathalpha}{operators}{4}
    \mdsy@DeclareMathAccent{mathring}{\mathalpha}{operators}{6}
    \mdsy@DeclareMathAccent{check}   {\mathalpha}{operators}{7}
    \mdsy@DeclareMathAccent{breve}   {\mathalpha}{operators}{8}
    \mdsy@DeclareMathAccent{bar}     {\mathalpha}{operators}{9}
    \mdsy@DeclareMathAccent{dot}     {\mathalpha}{operators}{10}
  \fi
\RequirePackage{fontaxes}[2005/05/04]
\let\oldstylenums\textfigures
\if@My@Math@Symbols@
  \if@My@Sans@Math@
    \newcommand\My@greek@letter@[2]{
      \ifcsdef{#1}{%
        \csletcs{#1@old}{#1}%
      }{%
        \csletcs{#1@old}{#2#1}%
      }%
      \csletcs{sans#1}{#2#1}%
      \csundef{#1}%
      \csdef{#1}{\ifmathversionsans{\csname sans#1\endcsname}{\csname#1@old\endcsname}}%
    }%
  \else
    \newcommand\My@greek@letter@[2]{%
      \csletcs{#1}{#2#1}
    }
  \fi
  \newcommand*\My@greek@letter[3]{%
    \mdsy@DeclareMathSymbol{it#1}{\mathord}{letters}{#2}%
    \mdsy@DeclareMathSymbol{up#1}{\mathord}{letters}{#3}%
    \edef\@tempa{`\@car#1\@nil}%
    \ifnum\uccode\@tempa=\@tempa%
      \My@greek@letter@{#1}{\My@greek@upper}%
    \else%
      \My@greek@letter@{#1}{\My@greek@lower}%
    \fi%
  }
  \My@greek@letter{Gamma}         {'000}{'200}
  \My@greek@letter{Delta}         {'001}{'201}
  \My@greek@letter{Theta}         {'002}{'202}
  \My@greek@letter{Lambda}        {'003}{'203}
  \My@greek@letter{Xi}            {'004}{'204}
  \My@greek@letter{Pi}            {'005}{'205}
  \My@greek@letter{Sigma}         {'006}{'206}
  \My@greek@letter{Upsilon}       {'007}{'207}
  \My@greek@letter{Phi}           {'010}{'210}
  \My@greek@letter{Psi}           {'011}{'211}
  \My@greek@letter{Omega}         {'012}{'212}
  \My@greek@letter{alpha}         {'013}{'213}
  \My@greek@letter{beta}          {'014}{'214}
  \My@greek@letter{gamma}         {'015}{'215}
  \My@greek@letter{delta}         {'016}{'216}
  \My@greek@letter{epsilon}       {'017}{'217}
  \My@greek@letter{zeta}          {'020}{'220}
  \My@greek@letter{eta}           {'021}{'221}
  \My@greek@letter{theta}         {'022}{'222}
  \My@greek@letter{iota}          {'023}{'223}
  \My@greek@letter{kappa}         {'024}{'224}
  \My@greek@letter{lambda}        {'025}{'225}
  \My@greek@letter{mu}            {'026}{'226}
  \My@greek@letter{nu}            {'027}{'227}
  \My@greek@letter{xi}            {'030}{'230}
  \My@greek@letter{pi}            {'031}{'231}
  \My@greek@letter{rho}           {'032}{'232}
  \My@greek@letter{sigma}         {'033}{'233}
  \My@greek@letter{tau}           {'034}{'234}
  \My@greek@letter{upsilon}       {'035}{'235}
  \My@greek@letter{phi}           {'036}{'236}
  \My@greek@letter{chi}           {'037}{'237}
  \My@greek@letter{psi}           {'040}{'240}
  \My@greek@letter{omega}         {'041}{'241}
  \My@greek@letter{varepsilon}    {'042}{'242}
  \My@greek@letter{vartheta}      {'043}{'243}
  \My@greek@letter{varpi}         {'044}{'244}
  \My@greek@letter{varrho}        {'045}{'245}
  \My@greek@letter{varsigma}      {'046}{'246}
  \My@greek@letter{varphi}        {'047}{'247}
%%  \My@greek@letter{varbeta}       {'260}{'250}
  \My@greek@letter{varbeta}       {'014}{'214}
%%  \My@greek@letter{varkappa}      {'261}{'251}
  \My@greek@letter{varkappa}      {'024}{'224}
  \My@greek@letter{backepsilon}   {'262}{'252}
  \My@greek@letter{varbackepsilon}{'263}{'253}
  \My@greek@letter{digamma}       {'264}{'254}
  \My@greek@letter{eth}           {'266}{'256}
\fi
\@ifundefined{pdfglyphtounicode}{}{
  \pdfglyphtounicode{uniEFD5}{03DD}% uni03DD
  \pdfglyphtounicode{uniEFED}{02D9}% dotaccent.cap
  \pdfglyphtounicode{uniEFEE}{02D8}% breve.cap
  \pdfglyphtounicode{uniEFF1}{02DB}% ogonek.cap
  \pdfglyphtounicode{uniEFF2}{00B8}% cedilla.cap
  \pdfglyphtounicode{uniEFF3}{02DA}% ring.cap
  \pdfglyphtounicode{uniEFF5}{02DC}% tilde.cap
  \pdfglyphtounicode{uniEFF7}{02C6}% circumflex.cap
  \pdfglyphtounicode{uniF628}{2030}% perthousand.oldstyle
  \pdfglyphtounicode{uniF62C}{0028}% parenleft.denominator
  \pdfglyphtounicode{uniF62D}{0029}% parenright.denominator
  \pdfglyphtounicode{uniF631}{0028}% parenleft.numerator
  \pdfglyphtounicode{uniF632}{0029}% parenright.numerator
  \pdfglyphtounicode{uniF638}{0030}% zero.slash
  \pdfglyphtounicode{uniF639}{0030}% zero.fitted
  \pdfglyphtounicode{uniF63A}{0032}% two.fitted
  \pdfglyphtounicode{uniF63B}{0033}% three.fitted
  \pdfglyphtounicode{uniF63C}{0034}% four.fitted
  \pdfglyphtounicode{uniF63D}{0035}% five.fitted
  \pdfglyphtounicode{uniF63E}{0036}% six.fitted
  \pdfglyphtounicode{uniF63F}{0037}% seven.fitted
  \pdfglyphtounicode{uniF640}{0038}% eight.fitted
  \pdfglyphtounicode{uniF641}{0039}% nine.fitted
  \pdfglyphtounicode{uniF642}{0025}% percent.oldstyle
  \pdfglyphtounicode{uniF643}{0030}% zero.taboldstyle
  \pdfglyphtounicode{uniF644}{0031}% one.taboldstyle
  \pdfglyphtounicode{uniF645}{0032}% two.taboldstyle
  \pdfglyphtounicode{uniF646}{0033}% three.taboldstyle
  \pdfglyphtounicode{uniF647}{0034}% four.taboldstyle
  \pdfglyphtounicode{uniF648}{0035}% five.taboldstyle
  \pdfglyphtounicode{uniF649}{0036}% six.taboldstyle
  \pdfglyphtounicode{uniF64A}{0037}% seven.taboldstyle
  \pdfglyphtounicode{uniF64B}{0038}% eight.taboldstyle
  \pdfglyphtounicode{uniF64C}{0039}% nine.taboldstyle
  \pdfglyphtounicode{uniF64D}{20A1}% colonmonetary.taboldstyle
  \pdfglyphtounicode{uniF64E}{20AC}% Euro.taboldstyle
  \pdfglyphtounicode{uniF64F}{0192}% florin.taboldstyle
  \pdfglyphtounicode{uniF650}{0023}% numbersign.taboldstyle
  \pdfglyphtounicode{uniF651}{00A3}% sterling.taboldstyle
  \pdfglyphtounicode{uniF652}{00A5}% yen.taboldstyle
  \pdfglyphtounicode{uniF653}{0024}% dollar.taboldstyle
  \pdfglyphtounicode{uniF654}{00A2}% cent.taboldstyle
  \pdfglyphtounicode{uniF655}{0030}% zero.denominator
  \pdfglyphtounicode{uniF656}{0031}% one.denominator
  \pdfglyphtounicode{uniF657}{0032}% two.denominator
  \pdfglyphtounicode{uniF658}{0033}% three.denominator
  \pdfglyphtounicode{uniF659}{0034}% four.denominator
  \pdfglyphtounicode{uniF65A}{0035}% five.denominator
  \pdfglyphtounicode{uniF65B}{0036}% six.denominator
  \pdfglyphtounicode{uniF65C}{0037}% seven.denominator
  \pdfglyphtounicode{uniF65D}{0038}% eight.denominator
  \pdfglyphtounicode{uniF65E}{0039}% nine.denominator
  \pdfglyphtounicode{uniF65F}{002C}% comma.denominator
  \pdfglyphtounicode{uniF660}{002E}% period.denominator
  \pdfglyphtounicode{uniF661}{0030}% zero.numerator
  \pdfglyphtounicode{uniF662}{0031}% one.numerator
  \pdfglyphtounicode{uniF663}{0032}% two.numerator
  \pdfglyphtounicode{uniF664}{0033}% three.numerator
  \pdfglyphtounicode{uniF665}{0034}% four.numerator
  \pdfglyphtounicode{uniF666}{0035}% five.numerator
  \pdfglyphtounicode{uniF667}{0036}% six.numerator
  \pdfglyphtounicode{uniF668}{0037}% seven.numerator
  \pdfglyphtounicode{uniF669}{0038}% eight.numerator
  \pdfglyphtounicode{uniF66A}{0039}% nine.numerator
  \pdfglyphtounicode{uniF66B}{002C}% comma.numerator
  \pdfglyphtounicode{uniF66C}{002E}% period.numerator
  \pdfglyphtounicode{uniF66D}{0103}% abreve.sc
  \pdfglyphtounicode{uniF66F}{0105}% aogonek.sc
  \pdfglyphtounicode{uniF671}{0107}% cacute.sc
  \pdfglyphtounicode{uniF672}{010D}% ccaron.sc
  \pdfglyphtounicode{uniF675}{010F}% dcaron.sc
  \pdfglyphtounicode{uniF676}{0111}% dcroat.sc
  \pdfglyphtounicode{uniF678}{011B}% ecaron.sc
  \pdfglyphtounicode{uniF67B}{014B}% eng.sc
  \pdfglyphtounicode{uniF67C}{0119}% eogonek.sc
  \pdfglyphtounicode{uniF67D}{011F}% gbreve.sc
  \pdfglyphtounicode{uniF684}{0133}% ij.sc
  \pdfglyphtounicode{uniF687}{0129}% itilde.sc
  \pdfglyphtounicode{uniF68A}{013A}% lacute.sc
  \pdfglyphtounicode{uniF68B}{013E}% lcaron.sc
  \pdfglyphtounicode{uniF68E}{0144}% nacute.sc
  \pdfglyphtounicode{uniF68F}{0148}% ncaron.sc
  \pdfglyphtounicode{uniF692}{0151}% ohungarumlaut.sc
  \pdfglyphtounicode{uniF695}{0155}% racute.sc
  \pdfglyphtounicode{uniF696}{0159}% rcaron.sc
  \pdfglyphtounicode{uniF698}{015B}% sacute.sc
  \pdfglyphtounicode{uniF699}{015F}% scedilla.sc
  \pdfglyphtounicode{uniF69D}{0165}% tcaron.sc
  \pdfglyphtounicode{uniF69E}{0163}% tcommaaccent.sc
  \pdfglyphtounicode{uniF6A0}{0171}% uhungarumlaut.sc
  \pdfglyphtounicode{uniF6A3}{016F}% uring.sc
  \pdfglyphtounicode{uniF6A4}{0169}% utilde.sc
  \pdfglyphtounicode{uniF6AA}{1EF3}% ygrave.sc
  \pdfglyphtounicode{uniF6AB}{017A}% zacute.sc
  \pdfglyphtounicode{uniF6AC}{017C}% zdotaccent.sc
  \pdfglyphtounicode{uniF6DC}{0031}% one.fitted
}
\def\My@for@tok#1:=#2\do#3{%
  \expandafter\def\expandafter\@fortmp\expandafter{#2}%
  \ifx\@fortmp\@empty \else
    \expandafter\My@forloop@tok#2\@nil\@nil\@@#1{#3}%
  \fi}
\def\My@forloop@tok#1#2#3\@@#4#5{%
  \def#4{#1}%
  \ifx #4\@nnil \else
    #5%
    \def#4{#2}%
    \ifx #4\@nnil \else
      #5\My@iforloop@tok #3\@@#4{#5}%
  \fi\fi}
\def\My@iforloop@tok#1#2\@@#3#4{%
  \def#3{#1}%
  \ifx #3\@nnil
    \expandafter\@fornoop
  \else
    #4\relax\expandafter\My@iforloop@tok
  \fi
  #2\@@#3{#4}}
\newcommand*\My@extra@font{%
  \fontencoding{U}\fontfamily{MyriadPro-Extra}\selectfont}
\newcommand*\My@numerator@fig[1]{{\My@extra@font\My@@numerator@fig{#1}}}
\newcommand*\My@denominator@fig[1]{{\My@extra@font\My@@denominator@fig{#1}}}
\newcommand*\My@superior@fig[1]{{\My@extra@font\My@@superior@fig{#1}}}
\newcommand*\My@inferior@fig[1]{{\My@extra@font\My@@inferior@fig{#1}}}
\newcommand*\My@@numerator@fig[1]{%
  \My@for@tok\@nf@fig:=#1\do{%
    \ifcase\@nf@fig
       \char'00%
    \or\char'01%
    \or\char'02%
    \or\char'03%
    \or\char'04%
    \or\char'05%
    \or\char'06%
    \or\char'07%
    \or\char'10%
    \or\char'11%
    \else
      \@latex@error{invalid argument to \string\My@@numerator@fig}%
    \fi
    }}
\newcommand*\My@@denominator@fig[1]{%
  \My@for@tok\@nf@fig:=#1\do{%
    \ifcase\@nf@fig
       \char'20%
    \or\char'21%
    \or\char'22%
    \or\char'23%
    \or\char'24%
    \or\char'25%
    \or\char'26%
    \or\char'27%
    \or\char'30%
    \or\char'31%
    \else
      \@latex@error{invalid argument to \string\My@@denominator@fig}%
    \fi
    }}
\newcommand*\My@@superior@fig[1]{%
  \My@for@tok\@nf@fig:=#1\do{%
    \ifcase\@nf@fig
       \char'60%
    \or\char'61%
    \or\char'62%
    \or\char'63%
    \or\char'64%
    \or\char'65%
    \or\char'66%
    \or\char'67%
    \or\char'70%
    \or\char'71%
    \else
      \@latex@error{invalid argument to \string\My@@superior@fig}%
    \fi
    }}
\newcommand*\My@@inferior@fig[1]{%
  \My@for@tok\@nf@fig:=#1\do{%
    \ifcase\@nf@fig
       \char'100%
    \or\char'101%
    \or\char'102%
    \or\char'103%
    \or\char'104%
    \or\char'105%
    \or\char'106%
    \or\char'107%
    \or\char'110%
    \or\char'111%
    \else
      \@latex@error{invalid argument to \string\My@@inferior@fig}%
    \fi
    }}
\newcommand*\Myensure@text[1]{%
  \ifmmode
    \mdsy@text{#1}%
  \else
    #1%
  \fi}
\newlength{\MdSlantfracSpacingBeforeSlash}
\newlength{\MdSlantfracSpacingAfterSlash}
\setlength{\MdSlantfracSpacingBeforeSlash}{-0.15em}
\setlength{\MdSlantfracSpacingAfterSlash}{-0.14em}
\InputIfFileExists{MyriadPro.cfg}{%
  \typeout{Using the configuration file MyriadPro.cfg}}{}
\newcommand*\My@smallfrac[2]{%
  \leavevmode
  \setbox\@tempboxa
    \vbox{%
      \baselineskip\z@skip%
      \lineskip.25ex%
      \lineskiplimit-\maxdimen
      \ialign{\hfil##\hfil\crcr
              \vbox to 2.13ex{\vss\hbox{\My@numerator@fig{#1}}\vskip.68ex}\crcr
              \leavevmode\leaders\hrule height 1.1ex depth -1.01ex\hfill\crcr
              \vtop to 1ex{\vbox{}\hbox{\My@denominator@fig{#2}}\vss}\crcr
              \noalign{\vskip-1.47ex}}}%
  \dp\@tempboxa=0.49ex%
  \box\@tempboxa}
\newcommand*\My@slantfrac[2]{%
  {\My@extra@font\My@@numerator@fig{#1}\kern\MdSlantfracSpacingBeforeSlash/\kern\MdSlantfracSpacingAfterSlash\My@@denominator@fig{#2}}}
\if@My@Math@Symbols@
  \mdsy@DeclareRobustCommandArg{smallfrac}{2}{\Myensure@text{\kern0.06em\My@smallfrac{#1}{#2}\kern0.09em}}
  \mdsy@DeclareRobustCommandArg{slantfrac}{2}{\Myensure@text{\kern0.06em\My@slantfrac{#1}{#2}\kern0.09em}}
\fi
\if@My@Math@Symbols@
  \mdsy@DeclareMathSymbol{hbar}             {\mathord}{letters}{'265}
  \mdsy@DeclareMathSymbol{uphbar}           {\mathord}{letters}{'255}
  \mdsy@DeclareMathSymbol{partial}          {\mathord}{letters}{'100}
  \mdsy@DeclareMathSymbol{uppartial}        {\mathord}{letters}{'300}
  \mdsy@DeclareMathSymbol{ell}              {\mathord}{letters}{'140}
  \mdsy@DeclareMathSymbol{upell}            {\mathord}{letters}{'340}
  \mdsy@DeclareMathSymbol{slashedzero}      {\mathord}{letters}{'257}
  \mdsy@DeclareMathSymbol{upimath}          {\mathord}{letters}{'373}
  \mdsy@DeclareMathSymbol{upjmath}          {\mathord}{letters}{'374}
  \mdsy@DeclareMathSymbol{varsmallint}      {\mathord}{letters}{'376}
\fi
\if@My@Text@
  %\def\Qoppa{\reflectbox{P}}
  %\def\Sampi{\begingroup\fontfamily{cmr}\fontencoding{LGR}\selectfont\char23\endgroup}
  \let\Stigma\stigma

  % fix \r A
  \DeclareTextCompositeCommand{\r}{OT1}{A}
     {\leavevmode\setbox\z@\hbox{!}\dimen@\ht\z@\advance\dimen@-1ex%
     \ooalign{\hss\raise.67\dimen@\hbox{\char23}\hss\crcr A}}

  \DeclareEncodingSubset{TS1}{MyriadPro-LF}  {1}%
  \DeclareEncodingSubset{TS1}{MyriadPro-TLF} {1}%
  \DeclareEncodingSubset{TS1}{MyriadPro-OsF} {1}%
  \DeclareEncodingSubset{TS1}{MyriadPro-TOsF}{1}%
  \AtBeginDocument{
    \UndeclareTextCommand{\textvisiblespace}{T1}%
    \UndeclareTextCommand{\textcompwordmark}{T1}%
    \UndeclareTextCommand{\textsterling}{T1}%
    \UndeclareTextCommand{\j}{T1}%
    \UndeclareTextCommand{\j}{LY1}%
  }
\fi
\if@My@Math@
  \newcommand\My@Decl@Myriad@Ints{%
    \DeclareFontFamily{U}{MySymbolFI}{}
    \DeclareFontShape{U}{MySymbolFI}{m}{it}{
        <-6>  MySymbolFI\My@myriadint@opticals5
       <6-7>  MySymbolFI\My@myriadint@opticals6
       <7-8>  MySymbolFI\My@myriadint@opticals7
       <8-9>  MySymbolFI\My@myriadint@opticals8
       <9-10> MySymbolFI\My@myriadint@opticals9
      <10-12> MySymbolFI\My@myriadint@opticals10
      <12->   MySymbolFI\My@myriadint@opticals12
    }{}
    \DeclareFontShape{U}{MySymbolFI}{b}{it}{
        <-6>  MySymbolFI\My@myriadint@bold\My@myriadint@opticals5
       <6-7>  MySymbolFI\My@myriadint@bold\My@myriadint@opticals6
       <7-8>  MySymbolFI\My@myriadint@bold\My@myriadint@opticals7
       <8-9>  MySymbolFI\My@myriadint@bold\My@myriadint@opticals8
       <9-10> MySymbolFI\My@myriadint@bold\My@myriadint@opticals9
      <10-12> MySymbolFI\My@myriadint@bold\My@myriadint@opticals10
      <12->   MySymbolFI\My@myriadint@bold\My@myriadint@opticals12
    }{}
    \DeclareSymbolFont{symbols}  {U}{MySymbolFI}{m}{it}
    \SetSymbolFont{symbols}{bold}{U}{MySymbolFI}{b}{it}
    \let\varint\tint
    \let\variint\tiint
    \let\variiint\tiiint
    \let\variiiint\tiiiint
    \let\varidotsint\tidotsint
    \let\varlandupint\tlandupint
    \let\varlanddownint\tlanddownint
    \let\varstrokedint\tstrokedint
    \let\varoint\toint
    \let\varoiint\toiint
    \let\varrcirclerightint\trcirclerightint
    \let\varlcirclerightint\tlcirclerightint
    \let\varrcircleleftint\trcircleleftint
    \let\varlcircleleftint\tlcircleleftint
    \let\varsumint\tsumint
    \DeclareMathSymbol\tint            \mathop{symbols}{112}
    \DeclareMathSymbol\tiint           \mathop{symbols}{114}
    \DeclareMathSymbol\tiiint          \mathop{symbols}{116}
    \DeclareMathSymbol\tiiiint         \mathop{symbols}{118}
    \DeclareMathSymbol\tidotsint       \mathop{symbols}{120}
    \DeclareMathSymbol\tlandupint      \mathop{symbols}{122}
    \DeclareMathSymbol\tlanddownint    \mathop{symbols}{124}
    \DeclareMathSymbol\tstrokedint     \mathop{symbols}{126}
    \DeclareMathSymbol\toint           \mathop{symbols}{128}
    \DeclareMathSymbol\toiint          \mathop{symbols}{130}
    \DeclareMathSymbol\trcirclerightint\mathop{symbols}{132}
    \DeclareMathSymbol\tlcirclerightint\mathop{symbols}{134}
    \DeclareMathSymbol\trcircleleftint \mathop{symbols}{136}
    \DeclareMathSymbol\tlcircleleftint \mathop{symbols}{138}
    \DeclareMathSymbol\tsumint         \mathop{symbols}{140}
    \let\intop\tint
    \let\ointop\toint
  }
  \My@load@integrals
\fi
\if@My@Text@
  \def\TeX{T\kern-.1667em\lower.4ex\hbox{E}\kern-.125emX\@}
  \DeclareRobustCommand{\LaTeX}{L\kern-.32em%
          {\sbox\z@ T%
           \vbox to\ht\z@{\hbox{\check@mathfonts
                                \fontsize\sf@size\z@
                                \math@fontsfalse\selectfont
                                A}%
                          \vss}%
          }%
          \kern-.15em%
          \TeX}
\fi
\def\macc@set@skewchar#1{%
  \begingroup
  \ifnum\mathgroup=\m@ne \let\@tempa\@ne
  \else
    \ifnum\skewchar\textfont\mathgroup=\m@ne \let\@tempa\@ne
    \else \let\@tempa\mathgroup
    \fi
  \fi
  \count@=\skewchar\textfont\@tempa
  \ifnum\count@=\m@ne
    \endgroup
    \def\macc@skewchar{}
  \else
    \advance\count@"7100
    \edef\@tempa{\endgroup
      \mathchardef\noexpand\macc@skewchar=\number\count@\relax}%
    \@tempa
  \fi
  #1%
}
\if@My@Text@
  \normalfont
\fi
%% vim:set ft=tex:
%%
%% End of file `MyriadPro.sty'.
sunderme commented 6 years ago

apparently the pdflatex-call with filehook to analyze the commands, ends in an infinite loop. As this rather an issue with the package (which probably under normal circumstances is not triggered) and it has never happend with any other package, won't fix.