diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/uassign |
Initial commit
Diffstat (limited to 'macros/latex/contrib/uassign')
-rw-r--r-- | macros/latex/contrib/uassign/README.md | 27 | ||||
-rw-r--r-- | macros/latex/contrib/uassign/uassign.pdf | bin | 0 -> 112902 bytes | |||
-rw-r--r-- | macros/latex/contrib/uassign/uassign.sty | 202 | ||||
-rw-r--r-- | macros/latex/contrib/uassign/uassign.tex | 186 |
4 files changed, 415 insertions, 0 deletions
diff --git a/macros/latex/contrib/uassign/README.md b/macros/latex/contrib/uassign/README.md new file mode 100644 index 0000000000..c4c9c84dae --- /dev/null +++ b/macros/latex/contrib/uassign/README.md @@ -0,0 +1,27 @@ +Version: 1.01
+Date: September 23, 2015
+Author: Nathan Esau
+Package: uassign
+
+# Overview
+
+## Description
+
+The purpose of the uassign package is to provide simple question and solution
+style environments for typesetting university assignments. The uassign package
+was designed with the following objectives in mind:
+
+* Simplicity: uassign package is small and easy to modify
+* Hide environments: ability to produce a question sheet (questions only) and
+ solution sheet (solutions only) or both. This is done by passing the
+ hidequestion or hideanswers option to the package
+* Flexibility: the uassign package doesn't create conflicts with other packages,
+ such as hyperref when included. Commands which could cause conflicts with
+ other packages are used only when certain options are passed to the uassign
+ package
+
+Environments: question, solution, example, exsolution, definition
+Commands: ientry
+Options: hidequestions, hideanswer, assignheader, notesheader, links
+Packages used: ifthen, hyperref, bookmark, color, enumerate, amsmath, amsthm,
+ fancyhdr, titlesec
diff --git a/macros/latex/contrib/uassign/uassign.pdf b/macros/latex/contrib/uassign/uassign.pdf Binary files differnew file mode 100644 index 0000000000..1500c13c36 --- /dev/null +++ b/macros/latex/contrib/uassign/uassign.pdf diff --git a/macros/latex/contrib/uassign/uassign.sty b/macros/latex/contrib/uassign/uassign.sty new file mode 100644 index 0000000000..07befed26f --- /dev/null +++ b/macros/latex/contrib/uassign/uassign.sty @@ -0,0 +1,202 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{assign}[2015/09/23 v1.01 University assignments package] + +% Author: Nathan Esau +% +% Packages included: ifthen, hyperref, bookmark, color, enumerate, +% amsmath, fancyhdr, titlesec +% Options: notesheader, links, hideanswers, hidequestions, +% assignheader +% Environments: question, solution, example, exsolution, definition +% Commands: ientry + +%% Project Public License, as described in lppl.txt in the base +%% LaTeX distribution, either version 1.2 or (at your option) +%% any later version. + +\RequirePackage{ifthen} +\RequirePackage{hyperref} +\RequirePackage{bookmark} +\RequirePackage{color} +\RequirePackage{enumerate} +\RequirePackage{amsmath} +\RequirePackage{fancyhdr} +\RequirePackage{titlesec} +\RequirePackage{amsthm} + +\makeatletter + +% Commands +\newcommand{\ebox}[1]{% +\hfill$\qed$ +} + +\newcommand{\ientry}[1]{% +\index{#1}\textbf{#1}} + + +% Counters +\newcounter{questioncounter} +\newcounter{solutioncounter} + +% For hiding question environment +\newboolean{showquestions} +\setboolean{showquestions}{true} + +% For hiding solution environment +\newboolean{showanswers} +\setboolean{showanswers}{true} + +\DeclareOption{hideanswers}{\setboolean{showanswers}{false}} +\DeclareOption{hidequestions}{\setboolean{showquestions}{false}} + +\DeclareOption{assignheader}{% + \pagestyle{fancy} + \fancyhf{} + \renewcommand{\headrulewidth}{0pt} + % Define rhead, lhead in assignment + + %\usepackage[margin=1.0in,headheight=27.18335pt]{geometry} + \setlength{\headheight}{27.18335pt} + \cfoot{\thepage} +} + +\DeclareOption{notesheader}{% + +% Format header +\pagestyle{fancy} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\fancyhf{} +\renewcommand{\headrulewidth}{0pt} +\fancyhead[CE]{\textit{\nouppercase{\leftmark}}} +\fancyhead[CO]{\textit{\nouppercase{\rightmark}}} +\fancyhead[LE,RO]{\thepage} +\cfoot{} + +% Format chapter +\titleformat{\chapter}[display] +{\bfseries\filcenter} +{\huge\thechapter} +{1ex} +{ +\vspace{2ex}% +\LARGE} +[\vspace{0.5ex}% +{\titlerule[1.0pt]} +\vspace{10.0ex} +] +\titlespacing*{\chapter}{0pt}{-30pt}{40pt} + +% Format section +\titleformat*{\section}{\centering\large\bfseries} +\titleformat*{\subsection}{\centering\normalsize\bfseries\itshape} +} + +\DeclareOption{links}{% + +% Hyper link setup +\hypersetup{ + colorlinks, + linkcolor={blue}, + linktoc=page, + urlcolor=blue +} + +% +} + +\DeclareOption*{\PackageWarning{uassign}{Unknown ‘\CurrentOption’}} +\ProcessOptions\relax + +% For hiding question and solution environments +\newsavebox{\trashcan} + +% Question environment +\ifthenelse{\boolean{showquestions}}{% + % show the questions + \newenvironment{question}{% + % + \bigskip + \refstepcounter{questioncounter} + \vspace{-5mm} + \list{\thequestioncounter .}{% + \settowidth{\leftmargin}{10. \hskip\labelsep}% + \labelwidth\leftmargin\advance\labelwidth-\labelsep + \partopsep=0pt\bigskip + \item + \begingroup + }% + \endgroup + }{\endlist}}% +{% + % don't show the questions + \newenvironment{question}{% + \begin{lrbox}{\trashcan} + \begin{minipage}{5cm} + }% + {% + \end{minipage} + \end{lrbox}}% +} + +% Solution environment +\ifthenelse{\boolean{showanswers}}{% + % show the answers + \newenvironment{solution}[1][1.5em]{% + % + \bigskip + \refstepcounter{solutioncounter} + \vspace{-5mm} + \list{\ifthenelse{\boolean{showquestions}}{}{\thesolutioncounter .}}{% + \settowidth{\leftmargin}{10. \hskip\labelsep}% + \labelwidth\leftmargin\advance\labelwidth-\labelsep + \partopsep=0pt\bigskip + \ifthenelse{\boolean{showquestions}}{% + \bigskip \item[] \textbf{Solution: } \medskip \item[]} + {\item}% + \begingroup + }% + \endgroup + }{\endlist}}% +{% + % don't show the answers + \newenvironment{solution}{% + \begin{lrbox}{\trashcan} + \begin{minipage}{5cm} + }% + {% + \end{minipage} + \end{lrbox}}% +} + +\newcounter{examplecounter} +%\numberwithin{examplecounter}{chapter} +\newcounter{exsolutioncounter} +%\numberwithin{solutioncounter}{chapter} +\newcounter{defcounter} +%\numberwithin{defcounter}{chapter} + +% Example environment +\newenvironment{example}{ +\bigskip + \refstepcounter{examplecounter} + \noindent\textbf{Example \theexamplecounter} +}{} + +% Solution environment +\newenvironment{exsolution}{ +\bigskip + \refstepcounter{exsolutioncounter} + \noindent\textbf{Solution \theexsolutioncounter} + \begingroup + \endgroup +}{} + +% Definition environment +\newenvironment{definition}{ +\bigskip + \refstepcounter{defcounter} + \noindent\textbf{Definition \thedefcounter} +}{} + +\makeatother diff --git a/macros/latex/contrib/uassign/uassign.tex b/macros/latex/contrib/uassign/uassign.tex new file mode 100644 index 0000000000..0b8c40c234 --- /dev/null +++ b/macros/latex/contrib/uassign/uassign.tex @@ -0,0 +1,186 @@ +\documentclass[twocolumn,twoside,11pt]{report} + +\usepackage[nobox]{assign} +\usepackage{hyperref} +\usepackage[margin=1.0in]{geometry} +\def\arraystretch{1.2} + +\hypersetup{ + colorlinks, + linkcolor={blue}, + linktoc=page +} + +\setcounter{secnumdepth}{0} + +\title{The \texttt{uassign} package} +\author{Nathan Esau} +\date{\today} + +\begin{document} + +\maketitle + +\setcounter{secnumdepth}{-1} +\chapter{Overview} + +\section{Description} +The purpose of the \texttt{uassign} package is to provide simple question and solution style environments for typesetting university assignments. The \texttt{uassign} package was designed with the following objectives in mind: + +\begin{itemize} +\item \textit{Simplicity}: \texttt{uassign} package is small and easy to modify +\item \textit{Hide environments}: Ability to produce a question sheet (questions only) and a solution sheet (solutions only) or both. This is done by passing the \texttt{hidequestions} or \texttt{hideanswers} option to the package. +\item \textit{Flexibility}: The \texttt{uassign} package doesn't create conflicts with other packages, such as \texttt{hyperref} when included. Commands which could cause conflicts with other packages are used only when certain options are passed to the \texttt{uassign} package. + +\end{itemize}% see http://tex.stackexchange.com/questions/242036/multiline-code-listings-in-cweb + +\section{Features} + +\subsection{Environments} + +\begin{table}[!htpb] +\centering +\begin{tabular}{l l l} +\hline +Environment & Description \\ \hline +\texttt{question} & Assignment questions \\ +\texttt{solution} & Assignment solutions \\ +\texttt{example} & Illustrative examples \\ +\texttt{exsolution} & Solution to examples \\ +\texttt{definition} & Definitions for terms \\ \hline +\end{tabular} +\caption{Environments provided by \texttt{uassign}} +\end{table} + +\vspace{10mm} +\subsection{Commands} + +\begin{table}[!htpb] +\centering +\begin{tabular}{l l l} +\hline +Command & Description \\ \hline +\verb|\ientry| & Bold-faced index entry \\ \hline +%\verb|\ebox| & Square box to end solution \\ \hline +\end{tabular} +\caption{Commands provided by \texttt{uassign}} +\end{table} + +\subsection{Options} + +\begin{table}[!htpb] +\centering +\begin{tabular}{l l} +\hline +Option & Description \\ \hline +\verb|hidequestions| & Hide \texttt{question} \\ +\verb|hideanswers| & Hide \texttt{solution} \\ +\verb|assignheader| & \texttt{fancyhdr} \\ +\verb|notesheader| & \texttt{titlesec}, \texttt{fancyhdr} \\ +\verb|links| & \texttt{hypersetup} format \\ \hline +\end{tabular} +\caption{Options provided by \texttt{uassign}} +\end{table} + +\subsection{Packages used} + +\begin{table}[!htpb] +\centering +\begin{tabular}{l l} +\hline +Package(s) & Usage \\ \hline +\texttt{ifthen} & Processing options \\ +\texttt{hyperref} & Hyperlinks in pdf \\ +\texttt{bookmark} & pdf bookmarks \\ +\texttt{color} & Color links \\ +\texttt{enumerate} & Options for \texttt{enumerate} \\ +\texttt{amsmath, amsthm} & Math typesetting \\ +\texttt{fancyhdr} & Format top of page header \\ +\texttt{titlesec} & Format section, chapter \\ \hline +\end{tabular} +\caption{Packages used by \texttt{uassign}} +\end{table} + +\section{Demonstration} + +\subsection{question environment} + +\begin{verbatim} +\begin{question} +What is the answer to life? +\end{question} +\end{verbatim} + +\hrule +\begin{question} +What is the answer to life? +\end{question} + +\vspace{3mm} +\hrule + +\subsection{solution environment} + +\begin{verbatim} +\begin{solution} +The answer is 42. +\end{solution} +\end{verbatim} + +\hrule +\begin{solution} +The answer is 42. +\end{solution} + +\vspace{3mm} +\hrule + +\subsection{example environment} + +\begin{verbatim} +\begin{example} +Explain what facebook is. +\end{example} +\end{verbatim} + +\hrule +\begin{example} +Explain what facebook is. +\end{example} + +\vspace{3mm} +\hrule + +\subsection{exsolution environment} + +\begin{verbatim} +\begin{solution} +Facebook is a social media site. +\end{solution} +\end{verbatim} + +\hrule +\begin{exsolution} +Facebook is a social media site. +\end{exsolution} + +\vspace{3mm} +\hrule + +\subsection{definition environment} + +\begin{verbatim} +\begin{definition} +The \ientry{mean} is the average value. +\end{definition} +\end{verbatim} + +\hrule +\begin{definition} +The \ientry{mean} is the average value. +\end{definition} + +\vspace{3mm} +\hrule + +\end{document} |