A Simple Form Class (Gathering Environment Contents)
First the code for the class file sample-form.cls:\NeedsTeXFormat{LaTeX2e} \ProvidesClass{sample-form}[2014/11/03] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass[a4paper,12pt]{article} \RequirePackage{environ} \newcommand*{\form@fillin}[2]{% \makebox[#1][l]{\rlap{#2}\hrulefill}% } \newcommand*{\form@layout@fillin}[3]{#3: \form@fillin{#1}{#2}} \newcommand*\@name{} \newcommand*{\name}[1]{% \renewcommand*{\@name}{#1}% } \newcommand*\@projectdescription{} \newcommand{\projectdescription}[1]{% \long\gdef\@projectdescription{#1}% } \newenvironment{ProjectDescription}{\Collect@Body\projectdescription}{} \newcommand{\makeform}{% \section{Applicant Details} \form@layout@fillin{8em}{\@name}{Name} \section{Project Description} \@projectdescription } \endinputNow the sample document:
\documentclass{sample-form} \name{Mabel Canary} \begin{ProjectDescription} This project will be very interesting. This is another paragraph. \end{ProjectDescription} \begin{document} \makeform \end{document}
Download sample-form.cls and sample-project-form.tex or sample-project-form.pdf.