Ubuntu 在其他操作系统上编译LateX文件时出现额外fi错误

Ubuntu 在其他操作系统上编译LateX文件时出现额外fi错误,ubuntu,latex,Ubuntu,Latex,这是我第一次在stackoverflow上发帖,我希望我做得对 我在大学的Windows7电脑上有一个LateX文件。它过去使用TeXMaker进行完美编译。最近,由于大学夏季停课,我不得不把它带回家,因为我只有一台Ubuntu笔记本电脑。昨天,我使用sudo-apt-install下载了最新版本的TeX-Live-Full以及TeXMaker界面。我试图打开我的文件,但出现了错误。我得到第25行的“!Extra\fi”错误消息,其中有\usepackage[toc,page]{appendix

这是我第一次在stackoverflow上发帖,我希望我做得对

我在大学的Windows7电脑上有一个LateX文件。它过去使用TeXMaker进行完美编译。最近,由于大学夏季停课,我不得不把它带回家,因为我只有一台Ubuntu笔记本电脑。昨天,我使用
sudo-apt-install
下载了最新版本的TeX-Live-Full以及TeXMaker界面。我试图打开我的文件,但出现了错误。我得到第25行的“!Extra\fi”错误消息,其中有
\usepackage[toc,page]{appendix}
行,以及第36行的其他错误消息,如“!Extra\else.”(
\usepackage{textcomp}

我不得不说,在安装TeXLive Full之后没有下载任何软件包(这很奇怪,我不认为安装下载了所有软件包),我是LateX和Ubuntu的新手。你们有没有人知道如何正确编译文件?下面是导致错误的代码的第一行

\documentclass[12pt,twoside]{report}
\usepackage{etex}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage[frenchb]{babel}
\usepackage{amsmath,amssymb,amsthm}
\usepackage[utf8]{inputenc} 
\usepackage{array}
\usepackage{frenchle}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx} 
\usepackage{fancybox} 
\usepackage{cases}
\usepackage{eurosym}
\usepackage{ulem}
\usepackage{tikz}
\usepackage[makeroom]{cancel}
\usepackage{hyperref}
\usepackage{sidecap}
\usepackage{listings}
\usepackage{multicol}
\usepackage[toc,page]{appendix} 
\usepackage{wrapfig}
\usepackage{tocloft}
\usepackage[ampersand]{easylist}
\usepackage{xcolor}
\usepackage{amssymb}
\usepackage{underscore}
\usepackage{textcomp}
\usepackage{tikz}


\setlength{\oddsidemargin}{-1.cm} 
\setlength{\evensidemargin}{0.cm} 
\setlength{\topmargin}{-1.cm} 
\setlength{\textheight}{24.cm} 
\setlength{\textwidth}{17.cm}
\setlength{\parskip}{2ex} 
\setlength{\footnotesep}{2ex}
\setlength{\parindent}{0ex}
\addtolength{\skip\footins}{2ex}


\makeatletter

\def\clap#1{\hbox to 0pt{\hss #1\hss}}%
\def\ligne#1{%
\hbox to \hsize{%
\vbox{\centering #1}}}%
\def\haut#1#2#3{%
\hbox to \hsize{%
\rlap{\vtop{\raggedright #1}}%
\hss
\clap{\vtop{\centering #2}}%
\hss
\llap{\vtop{\raggedleft #3}}}}%
\def\bas#1#2#3{%
\hbox to \hsize{%
\rlap{\vbox{\raggedright #1}}%
\hss
\clap{\vbox{\centering #2}}%
\hss
\llap{\vbox{\raggedleft #3}}}}%
\def\maketitle{%
    \setcounter{page}{0}
\thispagestyle{empty}\vbox to \vsize{%
\haut{}{\@blurb}{}
\vfill
\vspace{1cm}
\begin{flushleft}
\usefont{OT1}{ptm}{m}{sl}
\huge \@title
\end{flushleft}
\par
\hrule height 4pt
\par
\begin{flushright}
\usefont{OT1}{phv}{m}{n}
\Large \@author
\par
\end{flushright}

%new commands
\newcommand{\mychapter}[1]{\textcolor{mygrey}{\chapter{\uppercase{#1}}}}
\newcommand{\mychapteretoile}[1]{\textcolor{mygrey}{\chapter*{\uppercase{#1}}}}
\newcommand{\mysection}[1]{\textcolor{myblue}{\section{#1}}}
\newcommand{\mysectionetoile}[1]{\textcolor{myblue}{\section*{#1}}} 
\newcommand{\mysubsection}[1]{\textcolor{myblue}{\subsection{#1}}}
\newcommand\crule[3][black]{\textcolor{#1}{\rule{#2}{#3}}}

%renewcommand
\ListProperties(Space=.01cm, Space*=.01cm, Progressive=3ex, Style*=-- , 
Style2*=$\bullet$ ,Style3*=$\circ$ ,Style4*=\tiny$\blacksquare$ )
%\renewcommand{\theenumii}{\Alph{enumii}}
%\renewcommand{\labelitemii}{\theitemii}
%\renewcommand{\labelitemi}{$\star$}

\renewcommand{\cftaftertoctitle}{\hrulefill}


\begin{document}
% My doc
\end{document}
我不得不说,它在我使用的Windows PC上编译得非常完美。
PS:我还有其他错误,比如找不到的数字。我很确定我做错了什么。

这可能会更好。请参阅@DavidW:与其建议人们发布跨网络副本,不如投票关闭并建议将其迁移到。我投票关闭此问题,因为跨网络副本已经解决了问题()。