mirror of
https://git.adityakumar.xyz/fphw.git
synced 2024-11-09 14:59:45 +00:00
cleanup
This commit is contained in:
parent
6dc0021ffd
commit
f5f61a6518
2 changed files with 88 additions and 111 deletions
194
fphw.cls
194
fphw.cls
|
@ -1,54 +1,22 @@
|
||||||
%% Stilish homeworks
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
%% Felipe Portales-Oliva (f.portales.oliva@gmail.com)
|
|
||||||
%%
|
% Felipe Portales' HomeWorks
|
||||||
%% Clase para crear respuestas a tareas de manera sencilla
|
% Maintainer: Felipe Portales-Oliva (f.portales.oliva@gmail.com)
|
||||||
|
%
|
||||||
|
% Document class to produce simple yet stylish homework submsissions
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% Identification
|
||||||
|
|
||||||
\NeedsTeXFormat{LaTeX2e} % we need to have LaTeX2e for this to compile
|
\NeedsTeXFormat{LaTeX2e} % we need to have LaTeX2e for this to compile
|
||||||
\ProvidesClass{fphw}[2019/03/19 LaTeX class to deliver your homework]
|
\ProvidesClass{fphw}[2019/03/19] % fpshw is the name we need to provide to
|
||||||
|
% the documentclass command on the .tex file
|
||||||
% We will use the article class as a template, with a fontsize of 11pt
|
|
||||||
\LoadClass{article}[onecolumn]
|
|
||||||
|
|
||||||
% UTF-8 is best coding
|
|
||||||
\RequirePackage[utf8]{inputenc}
|
|
||||||
|
|
||||||
% We load languages
|
|
||||||
\RequirePackage[spanish,british]{babel}
|
|
||||||
|
|
||||||
% We won't need those ugly margins
|
|
||||||
\RequirePackage{geometry}
|
|
||||||
|
|
||||||
% we will modify sections, subsections and sub subsections
|
|
||||||
\RequirePackage{titlesec}
|
|
||||||
|
|
||||||
% Header and footers, we will use the titles also
|
|
||||||
\RequirePackage{fancyhdr,titling}
|
|
||||||
|
|
||||||
\DeclareOption{twocolumn}{\OptionNotUsed}
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
%%%%%%%%%% Language support
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
% we hardcode some language options
|
%%% Preliminary declarations:
|
||||||
\DeclareOption{spanish}{
|
%%%% These are some commands where we declare new commands for the class
|
||||||
\newcommand{\CourseLang}{Curso}
|
|
||||||
\newcommand{\ProfessorLang}{Docente}
|
|
||||||
\newcommand{\DateLang}{Fecha de entrega}
|
|
||||||
\newcommand{\StudentLang}{Nombre estudiante}
|
|
||||||
\selectlanguage{spanish}
|
|
||||||
}
|
|
||||||
|
|
||||||
\DeclareOption{english}{
|
|
||||||
\newcommand{\CourseLang}{Course}
|
|
||||||
\newcommand{\ProfessorLang}{Professor}
|
|
||||||
\newcommand{\DateLang}{Due date}
|
|
||||||
\newcommand{\StudentLang}{Student name}
|
|
||||||
\selectlanguage{british}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
|
|
||||||
% We define the macro for the name of the professor
|
% We define the macro for the name of the professor
|
||||||
\newcommand{\professor}[1]{ \renewcommand{\professor}{#1} }
|
\newcommand{\professor}[1]{ \renewcommand{\professor}{#1} }
|
||||||
|
@ -59,9 +27,80 @@
|
||||||
% We define the macro for the name of the institution
|
% We define the macro for the name of the institution
|
||||||
\newcommand{\institute}[1]{ \renewcommand{\institute}{#1} }
|
\newcommand{\institute}[1]{ \renewcommand{\institute}{#1} }
|
||||||
|
|
||||||
|
% UTF-8 is best coding
|
||||||
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
% We won't need those ugly margins
|
||||||
|
\RequirePackage{geometry}
|
||||||
|
|
||||||
|
% Header and footers, we will use the titles also
|
||||||
|
\RequirePackage{fancyhdr}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
%%%%%%%%%% Redefine the title for the class
|
|
||||||
|
%%% Options
|
||||||
|
%%%% We now pass the options of the class
|
||||||
|
|
||||||
|
% Two Columns are difficult to read and grade, we will not use them
|
||||||
|
\DeclareOption{twocolumn}{\OptionNotUsed}
|
||||||
|
|
||||||
|
% Two sided paper are difficult to read and grade, we will not use them
|
||||||
|
\DeclareOption{twoside}{\OptionNotUsed}
|
||||||
|
|
||||||
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
||||||
|
|
||||||
|
% we hardcode some language options
|
||||||
|
\DeclareOption{spanish}{
|
||||||
|
\newcommand{\CourseLang}{Curso}
|
||||||
|
\newcommand{\ProfessorLang}{Docente}
|
||||||
|
\newcommand{\DateLang}{Fecha de entrega}
|
||||||
|
\newcommand{\StudentLang}{Nombre estudiante}
|
||||||
|
}
|
||||||
|
\DeclareOption{english}{
|
||||||
|
\newcommand{\CourseLang}{Course}
|
||||||
|
\newcommand{\ProfessorLang}{Professor}
|
||||||
|
\newcommand{\DateLang}{Due date}
|
||||||
|
\newcommand{\StudentLang}{Student name}
|
||||||
|
}
|
||||||
|
|
||||||
|
% \ExecuteOptions{english}
|
||||||
|
|
||||||
|
\ProcessOptions\relax
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% Bulk Declarations
|
||||||
|
%%%% Here we do more declarations and call other files
|
||||||
|
|
||||||
|
|
||||||
|
% we need to load
|
||||||
|
\LoadClass{article}
|
||||||
|
|
||||||
|
|
||||||
|
% we will modify sections, subsections and sub subsections
|
||||||
|
\RequirePackage{titlesec}
|
||||||
|
% Modification of section
|
||||||
|
\titleformat{\section}[block]{\normalsize\bfseries\filcenter}{\thesection.}{.3cm}{}
|
||||||
|
|
||||||
|
% modification of subsection and sub sub section
|
||||||
|
\titleformat{\subsection}[runin]{\bfseries}{ \thesubsection.}
|
||||||
|
{1mm}{}[.\quad]
|
||||||
|
\titleformat{\subsubsection}[runin]{\bfseries\itshape}{ \thesubsubsection.}
|
||||||
|
{1mm}{}[.\quad]
|
||||||
|
|
||||||
|
% Decent margins for the documents, as it is meant to be printed
|
||||||
|
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
|
||||||
|
|
||||||
|
\fancyhead{}
|
||||||
|
\fancyfoot{}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
\renewcommand{\headrulewidth}{0.4pt} % we want rules
|
||||||
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
|
\fancyhead[RO] {\footnotesize\thepage}
|
||||||
|
\fancyhead[LO] {\footnotesize\itshape\class{} -- \makeatletter\@title\makeatother }
|
||||||
|
\fancyfoot[RO] {\footnotesize\itshape\makeatletter\@author\makeatother}
|
||||||
|
|
||||||
|
% New title style for the document
|
||||||
\renewcommand{\maketitle}{%
|
\renewcommand{\maketitle}{%
|
||||||
\thispagestyle{plain}
|
\thispagestyle{plain}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
|
@ -80,64 +119,5 @@
|
||||||
\end{center}
|
\end{center}
|
||||||
}
|
}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%% We finish the class with this command
|
||||||
|
|
||||||
% Modification of section
|
|
||||||
\titleformat{\section}[block]{\normalsize\bfseries\filcenter}{\thesection.}{.3cm}{}
|
|
||||||
|
|
||||||
% modification of subsection and sub sub section
|
|
||||||
\titleformat{\subsection}[runin]{\bfseries}{ \thesubsection.}
|
|
||||||
{1mm}{}[.\quad]
|
|
||||||
\titleformat{\subsubsection}[runin]{\bfseries\itshape}{ \thesubsubsection.}
|
|
||||||
{1mm}{}[.\quad]
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
|
|
||||||
%%% set margins for the document
|
|
||||||
% Narrow
|
|
||||||
\DeclareOption{narrow}{\geometry{left=1.5cm,right=1.5cm,top=2.5cm,bottom=2.5cm}}
|
|
||||||
% Standard
|
|
||||||
\DeclareOption{standard}{\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}}
|
|
||||||
|
|
||||||
%%% Set paper size for document
|
|
||||||
\DeclareOption{a4}{\geometry{a4paper}}
|
|
||||||
\DeclareOption{letter}{\geometry{letterpaper}}
|
|
||||||
|
|
||||||
% two columns are really difficult to grade, this is to avoid them
|
|
||||||
% \DeclareOption{twocolumn}{\OptionNotUsed}
|
|
||||||
|
|
||||||
% the user can put their name on the header and footers along other info
|
|
||||||
\DeclareOption{decorate}{
|
|
||||||
% clear all data
|
|
||||||
\fancyhead{}
|
|
||||||
\fancyfoot{}
|
|
||||||
\pagestyle{fancy}
|
|
||||||
\renewcommand{\headrulewidth}{0.4pt} % we want rules
|
|
||||||
\renewcommand{\footrulewidth}{0.4pt}
|
|
||||||
\fancyhead[RO] {\footnotesize\thepage}
|
|
||||||
\fancyhead[LO] {\footnotesize\itshape\class{} -- \makeatletter\@title\makeatother }
|
|
||||||
\fancyfoot[RO] {\footnotesize\itshape\theauthor}
|
|
||||||
}
|
|
||||||
|
|
||||||
% if no decoratios indicated, we do not decorate
|
|
||||||
\DeclareOption{donotdecorate}{\pagestyle{plain}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%%%%% These are the default options
|
|
||||||
\ExecuteOptions{donotdecorate,a4}
|
|
||||||
|
|
||||||
% As we loaded the article class we need to pass it options not specifically
|
|
||||||
% defined, such as font size
|
|
||||||
\DeclareOption*{\ClassWarningNoLine{fphw}{\CurrentOption not recognized}}
|
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
% This is the point when we pass the options
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
\ProcessOptions\relax
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
% we finish the class
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
5
test.tex
5
test.tex
|
@ -1,6 +1,6 @@
|
||||||
% this is a test document for the class we defined in this project
|
% this is a test document for the class we defined in this project
|
||||||
|
|
||||||
\documentclass[standard,decorate,spanish,letter]{fphw}
|
\documentclass[spanish,letterpaper,12pt]{fphw}
|
||||||
|
|
||||||
\usepackage{lipsum,mathpazo}
|
\usepackage{lipsum,mathpazo}
|
||||||
|
|
||||||
|
@ -14,9 +14,6 @@
|
||||||
\class{Teoría General de la Relatividad I}
|
\class{Teoría General de la Relatividad I}
|
||||||
\institute{Universidad de Concepción \\ Programa de Magíster en Ciencias con Mención en Física}
|
\institute{Universidad de Concepción \\ Programa de Magíster en Ciencias con Mención en Física}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\maketitle
|
\maketitle
|
||||||
\section{Lorem}
|
\section{Lorem}
|
||||||
|
|
Loading…
Reference in a new issue