So I migrated completely to Fedora from windows and the latex files which were compiling fine on windows (miktex 2.9 and texworks) are not compiling on texworks on fedora 20.

The current error I am stuck on is not showing anything on google. So I am posting hoping the learned people here can help. Thanks.

(/home/*****/texmf/tex/chemgreek/chemgreek.sty (/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty) ! Undefined control sequence. Chem\str_upper_case:f {\tl_head:n {alpha}}\str_lower_case:f {\tl_... l.569 \chemgreek_drop_symbols:

before this it was just showing that elsarticle, mhchem, chemgreek packages were missing.


    \usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
    \usepackage{graphicx} % support the \includegraphics command and options
    \usepackage[version=3]{mhchem} % Formula subscripts using \ce{}
    \usepackage{wasysym}%for \permil sign
    \newcommand{\mytilde}{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}} %around tilde

I tried tagging this to: chemgreek, fedora, texworks

but I cant create tags


The paths which texworks checks are seen by the command:

kpsepath tex | tr : '\n'


/home/*****/.texlive2013/texmf-config/tex/kpsewhich// /home/*****/.texlive2013/texmf-var/tex/kpsewhich// /home/*****/texmf/tex/kpsewhich// !!/usr/share/texlive/texmf-config/tex/kpsewhich// !!/usr/share/texlive/texmf-var/tex/kpsewhich// !!/usr/share/texlive/texmf-local///tex/kpsewhich// !!/usr/share/texlive/texmf-dist/tex/kpsewhich// /home/*****/.texlive2013/texmf-config/tex/generic// /home/*****/.texlive2013/texmf-var/tex/generic// /home/*****/texmf/tex/generic// !!/usr/share/texlive/texmf-config/tex/generic// !!/usr/share/texlive/texmf-var/tex/generic// !!/usr/share/texlive/texmf-local///tex/generic// !!/usr/share/texlive/texmf-dist/tex/generic// /home/*****/.texlive2013/texmf-config/tex/// /home/*****/.texlive2013/texmf-var/tex/// /home/*****/texmf/tex/// !!/usr/share/texlive/texmf-config/tex/// !!/usr/share/texlive/texmf-var/tex/// !!/usr/share/texlive/texmf-local///tex/// !!/usr/share/texlive/texmf-dist/tex///

Earlier I had put the packages in /home/*****/texmf/tex/ and texworks was finding the packages and only the chemgreek was having problems (as above). After the comment that the chemgreek should be moved to /usr/share, I moved it to /usr/share/texlive/texmf-config/tex/ but now texworks cant find the packages again.


I put the chemgreek folder in /usr/share/texlive/texmf-dist/tex/latex as suggested by Paolo. That folder already has mhchem, l3kernel and l3experimental (funnily pdflatex still cant find mhchem.sty if I remove it from /home/*****/texmf/tex/). Ran mktexlsr.

Now the error is:

(/usr/share/texlive/texmf-dist/tex/latex/chemgreek/chemgreek.sty (/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty) ! Undefined control sequence. Chem\str_upper_case:f {\tl_head:n {alpha}}\str_lower_case:f {\tl_... l.569 \chemgreek_drop_symbols: ?

  • 1
    That does not have anything to do with texworks. It is a latex error. You can test this by compiling the file directly from a terminal. Is your latex installation fully up to date? The placement of the files being used looks a little strange. Trina/texmf/ vs usr/share, you might have some version incompatibilities, chemgreek my depend on never version of Xperia that the one you have in usr/share. Very often the latex you get from a Linux distribution is out of date and is not updated often, so I'd recommend using the vanilla tug Tex live instead, tug.org/receive – daleif May 17 '15 at 6:45
  • meaning I should put the chemgreek in /usr/share? trying that – ankhi May 17 '15 at 6:58
  • 2
    You have mismatched package versions. Your (local) chemgreek needs a newer version of l3kernel than you have installed. Either stick with the version of chemgreek that comes with TeX Live 2013 or download l3kernel, l2packages and l3experimental from CTAN and install all of those. – Joseph Wright May 17 '15 at 7:32
  • 1
    In order to manually install packages on Fedora, you have to place them in the folder /usr/share/texlive/texmf-dist/tex/latex (as suggested by your error message, too). Then from terminal as root you issue mktexlsr. (Unfortunately then you have to separately install the documentation.) – Pier Paolo May 17 '15 at 7:56
  • 1
    @PierPaolo ../texmf-dist/... is presumably TEXMFMAIN. If so, it is designed for the main TeX Live packages - not locally installed stuff. More importantly, /usr/share is managed by yum and you ought not install stuff into it except via yum i.e. by making a package and installing it where 'package' is a package in yum's sense: .rpm. It is asking for trouble to install non-managed files there. They are liable to get overwritten. It is harder to debug. It is harder to take various diagnostic and corrective actions. Basically, it makes it harder to understand and manage the system. – cfr Jul 31 '15 at 20:33

What worked was completely removing texlive and installing complete texlive again.

I mean yum install texlive-scheme-full

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.