I'm currently working on building a new class file based on an old one which is my university thesis class. And I am totally new user for such a work.
Here is the code in the old file named "muthesis09.cls"
I think this code is to declare the option
@natbibmode, execute, then ask if it is a require package; at last, changing the way of producing the bibliography using a natbib package command
Now suppose there is a "new way" to achieve the aiming work as listed above---my own code:
then that raises questions:
- Why in the old code the author need to set the false value boolean to
@natbibmode? Why didn't he just creat it and then set the value to be true later in the
\DeclareOptioncommand? Alternative, why didn't he set it to be true at the time he created that boolean?
- From the above questions, I have my own code. Is it right?
- What is the difference between
\ProcessOptionscommands? Do I need any of them in the above code?
- (Side question) Do I need to include the special character @ at the very begining of each command or counter convention name? The reason of this question is, in the file muthesis09, the author then put @ in names of every counter and every command name that made used(!!!), and his action make me headache to classify which one is LaTeX primitive (or TeX primitive) and which one is his code
If possible, please let me know a better code to achieve the aim. Thank you.