diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-26 21:50:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-26 21:50:26 +0000 |
commit | 78d21c95ac9354e8bb835a91b8ce0fc17db16a42 (patch) | |
tree | 0ec1e55e7ba31bb0f63cebb6f7b4f6cce7d83a8a /Master/texmf-dist/tex/latex/cyber | |
parent | fcd2cf22a4d38dcb230d9dd32b068620496bfe56 (diff) |
cyber (26mar15)
git-svn-id: svn://tug.org/texlive/trunk@36633 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cyber')
-rw-r--r-- | Master/texmf-dist/tex/latex/cyber/cyber.sty | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cyber/cyber.sty b/Master/texmf-dist/tex/latex/cyber/cyber.sty new file mode 100644 index 00000000000..c5623a2bea3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cyber/cyber.sty @@ -0,0 +1,305 @@ +%% +%% This is file `cyber.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cyber.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (c) 2015 Jared Jennings <jjennings@fastmail.fm> +%% +%% Permission is hereby granted, free of charge, to any person obtaining +%% a copy of this software and associated documentation files (the +%% "Software"), to deal in the Software without restriction, including +%% without limitation the rights to use, copy, modify, merge, publish, +%% distribute, sublicense, and/or sell copies of the Software, and to +%% permit persons to whom the Software is furnished to do so, subject to +%% the following conditions: +%% +%% The above copyright notice and this permission notice shall be +%% included in all copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +%% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +%% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +%% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +%% LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +%% OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +%% WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +%% +%% +%% +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cyber} + [2015/03/21 v2.0 Use index package instead of multind] +\makeatletter +\RequirePackage{longtable} +\RequirePackage{color} +\RequirePackage{index} +\RequirePackage{fancyhdr} +\RequirePackage{graphicx} + +\newindex{cybercompliance}{cybercompliance.idx}{cybercompliance.ind}{Compliance} +\AtBeginDocument{ +\newwrite\complianceaux +\immediate\openout\complianceaux=cyber_compliance.aux +\newwrite\explanationsaux +\immediate\openout\explanationsaux=cyber_explanations.aux +} + +\AtEndDocument{ +\immediate\closeout\complianceaux +\immediate\closeout\explanationsaux +} + +\def\foreach#1#2#3#4{% + \@test@foreach{#1}{#2}{#3}#4,\@end@token% +} + +\def\@swallow#1{} + +\def\@test@foreach#1#2#3{% + \@ifnextchar\@end@token% + {\@swallow}% + {\@foreach{#1}{#2}{#3}}% +} + +\def\@foreach#1#2#3#4,#5\@end@token{% + #1{#2}{#3}{#4}% + \@test@foreach{#1}{#2}{#3}#5\@end@token% +} + +\newcommand{\requirementsdocument}[3]{% + % Say how to name requirements that come from this document. + \expandafter\providecommand\csname #1\endcsname[1]{% + \namedrequirement{#1}{#3}{##1}} + \expandafter\newcommand\csname indexhead#1\endcsname{#2} +} + +\newcommand{\requirement}[2]{% + \expandafter\csname requirement@#1\endcsname{#2}} + +\newcommand{\namedrequirement}[3]{% + \index[cybercompliance]{\csname indexhead#1\endcsname @\iaindexheadstyle{\csname indexhead#1\endcsname}!{#3}!}% + {\small #2\mbox{#3}}% +} +\def\addtosectionname#1{} +\newif\ifCyberindexingenabled +\Cyberindexingenabledtrue +\newcommand{\iaindexheadstyle}[1]{% + \vspace{1em}{\large \textbf{#1}}\vspace{1em}} +\newcommand{\indexhelper}[3]{% +\ifCyberindexingenabled\index[cybercompliance]{\csname indexhead#1\endcsname @\iaindexheadstyle{\csname indexhead#1\endcsname}!{#3}!{#2}}\fi} +\newcommand{\marginhelper}[3]{#2~\mbox{#3}\\ } +\newcommand{\compliancehelper}[3]{% +\write\complianceaux{#1:#3:#2}} +\newcommand{\explanationshelper}[3]{% +\write\explanationsaux{#1:#3:}% +\write\explanationsaux{#2}% +\write\explanationsaux{:}% +} + +\newcommand{\sectionnamehelper}[3]{% + \def\@numberone{#1}% + \def\@iacontrol{iacontrol}% + \ifx\@numberone\@iacontrol\addtosectionname{#3}\fi} +\def\iamarginsize{\footnotesize} +\newcommand{\implements}[2]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#1}{implemented}{#2}% + \marginpar{\iamarginsize \raggedright% + \foreach{\marginhelper}{#1}{auto:}{#2}% + }% + \foreach{\compliancehelper}{#1}{compliant}{#2}% + \foreach{\sectionnamehelper}{#1}{}{#2}% + \@esphack} +\newcommand{\unimplemented}[3]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#1}{\textcolor{red}{unimplemented}}{#2}% + \marginpar{\iamarginsize \color{red} \raggedright% + \foreach{\marginhelper}{#1}{}{#2}% + }% + \foreach{\compliancehelper}{#1}{non-compliant}{#2}% + \foreach{\explanationshelper}{#1}{#3}{#2}% + \foreach{\sectionnamehelper}{#1}{}{#2}% + {#3}% + \@esphack} +\newcommand{\bydefault}[3]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#2}{default for {#1}}{#3}% + \marginpar{\iamarginsize \raggedright% + \foreach{\marginhelper}{#2}{#1: }{#3}% + }% + \foreach{\compliancehelper}{#2}{compliant}{#3}% + \foreach{\sectionnamehelper}{#1}{}{#2}% + \@esphack} +\newcommand{\notapplicable}[2]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#1}{N/A}{#2}% + \marginpar{\iamarginsize \raggedright% + \foreach{\marginhelper}{#1}{N/A: }{#2}% + }% + \foreach{\compliancehelper}{#1}{N/A}{#2}% + \@esphack} + +\newcommand{\doneby}[3]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#2}{prescribed}{#3}% + \marginpar{\iamarginsize \raggedright% + \foreach{\marginhelper}{#2}{#1 do }{#3}% + }% + \foreach{\compliancehelper}{#2}{compliant}{#3}% + \foreach{\sectionnamehelper}{#1}{}{#2}% + \@esphack} + +\newcommand{\prescribed}[2]{\doneby{admins}{#1}{#2}} + +\newcommand{\documented}[2]{% + \@bsphack + \hspace{0pt}% this makes sure the marginpar doesn't go with the previous + % paragraph + \foreach{\indexhelper}{#1}{documented}{#2}% + \marginpar{\iamarginsize \raggedright% + \foreach{\marginhelper}{#1}{}{#2}% + }% + \foreach{\compliancehelper}{#1}{compliant}{#2}% + \foreach{\sectionnamehelper}{#1}{}{#2}% + \@esphack} + +\newcommand{\documents}[2]{\documented{#1}{#2}} + +\newcommand{\articlesecuritylabel}[1]{% + \pagestyle{fancy}% + \renewcommand{\headrulewidth}{0pt}% + \fancyhf{}% + \chead{#1}% + \cfoot{\thepage}% + \fancypagestyle{plain}{% + \fancyhf{}% + \fancyhead[C]{#1}% + }% +} +\newcommand{\booksecuritylabel}[1]{% + \pagestyle{fancy}% + \renewcommand{\headrulewidth}{0.1pt}% + \fancyhf{}% + \fancyhead[CE,CO]{#1\vspace{2\baselineskip}}% + \fancyhead[LE,RO]{\thepage}% + \fancyhead[RE]{\nouppercase{\leftmark}}% + \fancyhead[LO]{\nouppercase{\rightmark}}% + % + \fancypagestyle{empty}{% + \renewcommand{\headrulewidth}{0pt}% + \fancyhf{}% + \fancyhead[C]{#1\vspace{2\baselineskip}}% + }% + \fancypagestyle{plain}{% + \renewcommand{\headrulewidth}{0pt}% + \fancyhf{}% + \fancyhead[C]{#1\vspace{2\baselineskip}}% + \fancyfoot[C]{\thepage}% + }% +} +\def\@distribution{\@latex@warning@no@line{No distribution statement given}} +\def\@destruction{% + \textbf{DESTRUCTION NOTICE}: Destroy by any method that will prevent disclosure or reconstruction of the document.} +\def\distributionA#1{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT A}: Approved for public release. #1}} +\def\distributionB#1#2{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT B}: Distribution authorized to U.S. Government agencies only #1 \@date. Other requests for this document shall be referred to #2.}} +\def\distributionC#1#2{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT C}: Distribution authorized to U.S. Government agencies and their contractors #1 \@date. Other requests for this document shall be referred to #2.}} +\def\distributionD#1#2{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT D}: Distribution authorized to the Department of Defense and U.S. DoD contractors only #1 \@date. Other requests shall be referred to #2.}} +\def\distributionE#1#2{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT E}: Distribution authorized to DoD Components only #1 \@date. Other requests shall be referred to #2.}} +\def\distributionF#1{% + \gdef\@distribution{% + \textbf{DISTRIBUTION STATEMENT F}: Further dissemination only as directed by #1 \@date\ or higher DoD authority.}} + +\def\@version{} + +\def\version#1{\gdef\@version{#1}} + +\def\today{\number\day\space\ifcase\month\or Jan\or Feb\or Mar\or Apr\or + May\or Jun\or Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi + \space\number\year} + +\newcommand{\narrowermargins}{% + \addtolength{\hoffset}{-0.5in}% + \addtolength{\textwidth}{1in}% + \addtolength{\marginparwidth}{-0.5in}% + \addtolength{\voffset}{-0.5in}% + \addtolength{\textheight}{1in}% + % bring up bottom of text to match whitespace at top caused by security + % label + \addtolength{\textheight}{-2\baselineskip}% +} +\newcommand{\makedodtitle}[0]{% + \begin{titlepage}% + \begin{center}% + ~\vskip 1.5in% + {\LARGE \@title \par}% + \vskip 3em% + {\large \lineskip .75em \begin{tabular}[t]{c}% + \@author% + \end{tabular}\par}% + {\large \@date \par \large \@version}\vskip 0.5in% + \includegraphics[width=0.4\textwidth]{org_logo} + \end{center}\par% + \@thanks\vskip 0.5in\par% + \@distribution\par% + \@destruction% + \vfil\null + \end{titlepage}} +\newcommand{\change}[3]{% + {#1} & {#2} & {#3}\\ +} +\newenvironment{changelog}{ + \phantomsection + \chapter*{Changelog} + \addcontentsline{toc}{chapter}{Changelog} + \begin{longtable}{@{\extracolsep{\fill}} l l p{4in}} + \hline + {\bf Date} & {\bf Person} & {\bf Change Description}\\ + \hline\hline + \endhead +}{\end{longtable}} +\newcommand{\executivesummaryiacontrol}[2]{% + {#1} & {#2}\\ +} +\newenvironment{executivesummary}{ + \phantomsection + \chapter*{Executive Summary} + \addcontentsline{toc}{chapter}{Executive Summary} + The following table lists the NIST SP 800-53 Security Controls that are satisfied + through this artifact. + + \begin{longtable}{@{\extracolsep{\fill}} l p{4in}} + \hline + {\bf IA Control Number} & {\bf IA Control Name}\\ + \hline\hline + \endhead +}{\end{longtable}} +\makeatother +\endinput +%% +%% End of file `cyber.sty'. |