I have the following code within my thesis in Latex.
\documentclass[12pt]{ociamthesis}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{subfigure}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{algpseudocode}
\usepackage{textcomp}
\usepackage{gensymb}
\usepackage{caption}%for subfloat images
\usepackage[ruled,linesnumbered]{algorithm2e}
\newenvironment{program}[1][htb]
{\renewcommand{\algorithmcfname}{Program}% Update algorithm name
\begin{algorithm}[#1]%
}{\end{algorithm}}
\usepackage{commath}
\usepackage{xr}
\externaldocument{chapter1}
\title........
When I build the aforementioned latex file it gives me the following error:
Command \degree already defined. \newcommand\degree{}
Can someone let m know how to get rid of the error? (Which package is causing this apart from 'gensymb'?)
Appendix::
The ociamthesis.cls contains the following code:
%
% ociamthesis v2.2
% By Keith A. Gillow <gillow@maths.ox.ac.uk>
% Version 1.0 released 26/11/1997
%-------------------------- identification ---------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ociamthesis}[2010/11/22 v2.2 OCIAM thesis class]
%-------------------------- initial code -----------------------
\def\logoversion{squarelogo}
\DeclareOption{beltcrest}{\def\logoversion{beltcrest}}
\DeclareOption{shieldcrest}{\def\logoversion{shieldcrest}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\ProcessOptions\relax
\LoadClass[a4paper]{report}
% As an alternative to the above could use next line for twosided output
%\LoadClass[a4paper,twoside,openright]{report}
\RequirePackage{graphicx} % needed for latest frontpage logo
\RequirePackage{ifthen} % needed for option parsing for logo
\raggedbottom
%define the default submitted text
\newcommand{\submittedtext}{{A thesis submitted to the University of Essex in fulfillment of the requirement for the degree of}}
%
% DECLARATIONS
%
% These macros are used to declare arguments needed for the
% construction of the title page and other preamble.
% The year and term the thesis is submitted
\def\degreedate#1{\gdef@degreedate{#1}}
% The full (unabbreviated) name of the degree
\def\degree#1{\gdef@degree{#1}}
% The name of your Oxford college (e.g. Christ Church, Pembroke)
\def\college#1{\gdef@college{#1}}
%
% Setup choosen crest/logo
%
\ifthenelse{\equal{\logoversion}{shieldcrest}}%
{
% Traditional Oxford shield crest
%Using latex metafont (Mathematical Institute system)
\font\crestfont=oxcrest40 scaled\magstep3
\def\logo{{\crestfont \char1}}
%For comlab system replace 1st line above with
%\font\crestfont=crest scaled\magstep3
}{}
\ifthenelse{\equal{\logoversion}{beltcrest}}%
{
% Newer Oxford Belt crest
%Using latex metafont (Mathematical Institute system)
\font\beltcrestfont=oxbeltcrest
\def\logo{{\beltcrestfont \char0}}
%For comlab system replace 1st line above with
%\font\beltcrestfont=newcrest
}{}
\ifthenelse{\equal{\logoversion}{squarelogo}}%
{
% Latest Logo, Square version (the default!)
% you need an oxlogo.eps or oxlogo.pdf file as appropriate
\def\logo{{\includegraphics[width=42mm]{essexlogo.jpg}}}
}{}
%
% Define text area of page and margin offsets
%
\setlength{\topmargin}{0.0in}
\setlength{\oddsidemargin}{0.33in}
\setlength{\evensidemargin}{-0.08in}
\setlength{\textheight}{9.0in}
\setlength{\textwidth}{6.0in}
%
% Environments
%
% This macro define an environment for front matter that is always
% single column even in a double-column document.
\newenvironment{alwayssingle}{%
@restonecolfalse
\if@twocolumn@restonecoltrue\onecolumn
\else\if@openright\cleardoublepage\else\clearpage\fi
\fi}%
{\if@restonecol\twocolumn
\else\newpage\thispagestyle{empty}\fi}
%define title page layout
\renewcommand{\maketitle}{%
\begin{alwayssingle}
\renewcommand{\footnotesize}{\small}
\renewcommand{\footnoterule}{\relax}
\thispagestyle{empty}
\null\vfill
\begin{center}
{ \Huge {\bfseries {@title}} \par}
{\large \vspace{40mm} {\logo \par} \vspace{25mm}}
{{\Large @author} \par}
{\large \vspace{1ex}
{{@college} \par}
\vspace{1ex}
{University of Essex \par}
\vspace{25mm}
{{\submittedtext} \par}
\vspace{1ex}
{\it {@degree} \par}
\vspace*{2ex}
{@degreedate}}
\end{center}
\null\vfill
\end{alwayssingle}}
% DEDICATION
%
% The dedication environment makes sure the dedication gets its
% own page and is set out in verse format.
\newenvironment{dedication}
{\begin{alwayssingle}
\thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\LARGE }
\end{center}
\vspace{0.5cm}
\begin{verse}\begin{center}}
{\end{center}\end{verse}\end{alwayssingle}}
% ACKNOWLEDGEMENTS
%
% The acknowledgements environment puts a large, bold, centered
% "Acknowledgements" label at the top of the page. The acknowledgements
% themselves appear in a quote environment, i.e. tabbed in at both sides, and
% on its own page.
\newenvironment{acknowledgements}
{\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Acknowledgements}
\end{center}
\vspace{0.5cm}
\begin{quote}}
{\end{quote}\end{alwayssingle}}
% The acknowledgementslong environment puts a large, bold, centered
% "Acknowledgements" label at the top of the page. The acknowledgement itself
% does not appears in a quote environment so you can get more in.
\newenvironment{acknowledgementslong}
{\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Acknowledgements}
\end{center}
\vspace{0.5cm}}
{\end{alwayssingle}}
% STATEMENT OF ORIGINALITY (AS SUGGESTED BY GSW)
%
% The originality environment puts a large, bold, centered
% "Statement of originality" label at the top of the page. The statement
% of originality itself appears in a quote environment, i.e. tabbed in at
% both sides, and on its own page.
\newenvironment{originality}
{\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Statement of Originality}
\end{center}
\vspace{0.5cm}
\begin{quote}}
{\end{quote}\end{alwayssingle}}
% The originalitylong environment puts a large, bold, centered
% "Statement of originality" label at the top of the page. The statement
% of originality itself does not appears in a quote environment so you can
% get more in.
\newenvironment{originalitylong}
{\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Statement of Originality}
\end{center}
\vspace{0.5cm}}
{\end{alwayssingle}}
%ABSTRACT
%
%The abstract environment puts a large, bold, centered "Abstract" label at
%the top of the page. The abstract itself appears in a quote environment,
%i.e. tabbed in at both sides, and on its own page.
\renewenvironment{abstract} {\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Abstract}
\end{center}
\vspace{0.5cm}
\begin{quote}}
{\end{quote}\end{alwayssingle}}
%The abstractlong environment puts a large, bold, centered "Abstract" label at
%the top of the page. The abstract itself does not appears in a quote
%environment so you can get more in.
\newenvironment{abstractlong} {\begin{alwayssingle} \thispagestyle{empty}
\begin{center}
\vspace*{1.5cm}
{\Large \bfseries Abstract}
\end{center}
\vspace{0.5cm}}
{\end{alwayssingle}}
%The abstractseparate environment is for running of a page with the abstract
%on including title and author etc as required to be handed in separately
\newenvironment{abstractseparate} {\begin{alwayssingle} \thispagestyle{empty}
\vspace{-1in}
\begin{center}
{ \Large {\bfseries {@title}} \par}
{{\large \vspace{1ex} @author} \par}
{\large \vspace{1ex}
{{@college} \par}
{University of Oxford \par}
\vspace{1ex}
{{\it \submittedtext} \par}
{\it {@degree} \par}
\vspace*{2ex}
{@degreedate}}
\end{center}}
{\end{alwayssingle}}
%ROMANPAGES
%
% The romanpages environment set the page numbering to lowercase roman one
% for the contents and figures lists. It also resets
% page-numbering for the remainder of the dissertation (arabic, starting at 1).
\newenvironment{romanpages}
{\cleardoublepage\setcounter{page}{1}\renewcommand{\thepage}{\roman{page}}}
{\cleardoublepage\renewcommand{\thepage}{\arabic{page}}\setcounter{page}{1}}
ociamthesis.cls. Where can we find your\documentclass? – Werner Nov 18 '20 at 00:36gensymbis causing the error, then you can also comment out the other packages to see if the error remains. Do you still have the error with onlyociamthesisandgensymb? Maybe you don't needgensymb? – Teepeemm Nov 18 '20 at 00:39\degreemacro is defined in your document class. The source code is here: https://www.maths.ox.ac.uk/system/files/legacy/2894/ociamthesis.cls. That definition clashes with the definition ingensymb. Also, note that you're loadingtextcomptwice (although that's not the problem here). – LaTeXereXeTaL Nov 18 '20 at 00:47algpseudocode(fromalgorithmicx) andalgorithm2e; they're not compatible. – Werner Nov 18 '20 at 00:48algorithm2ewith the optionalgo2ewhich will let you usealgorithm2enotation/syntax inside analgorithm2eenvironment. Then you can load\usepackage{algorithm,algpseudocode}and usealgorithmicx-style syntax inside analgorithmenvironment. That should work... I assume. – Werner Nov 18 '20 at 00:59subfigure, a deprecated package. In its place, load eithersubfigorsubcaption. – Mico Nov 18 '20 at 02:16