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.
preamble:
\documentclass[preprint,12pt,authoryear]{elsarticle}
\usepackage{amssymb}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{graphicx} % support the \includegraphics command and options
\usepackage[fleqn,reqno]{amsmath}
\usepackage[version=3]{mhchem} % Formula subscripts using \ce{}
\usepackage{setspace}
\doublespacing
%
\usepackage{gensymb}
\usepackage{wasysym}%for \permil sign
\usepackage[para,online,flushleft]{threeparttable}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{lineno}
\linenumbers
\usepackage{tabularx}
\usepackage{float}
\usepackage[capitalise]{cleveref}
%mytilde
\newcommand{\mytilde}{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}} %around tilde
I tried tagging this to: chemgreek, fedora, texworks
but I cant create tags
Edit1
The paths which texworks checks are seen by the command:
kpsepath tex | tr : '\n'
output:
/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.
Edit2:
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: ?
chemgreek
needs a newer version ofl3kernel
than you have installed. Either stick with the version ofchemgreek
that comes with TeX Live 2013 or downloadl3kernel
,l2packages
andl3experimental
from CTAN and install all of those. – Joseph Wright♦ May 17 '15 at 7:32/usr/share/texlive/texmf-dist/tex/latex
(as suggested by your error message, too). Then from terminal as root you issuemktexlsr
. (Unfortunately then you have to separately install the documentation.) – Pier Paolo May 17 '15 at 7:56../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 byyum
and you ought not install stuff into it except viayum
i.e. by making a package and installing it where 'package' is a package inyum
'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