summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-02-24 22:07:42 +0000
committerKarl Berry <karl@freefriends.org>2017-02-24 22:07:42 +0000
commit990e60c6ed4437e5b632b7c9acf7f2237bbda871 (patch)
tree4dc9ea04f5fa46cc8ac59faa8dd62e4f8bc6835b /Master/texmf-dist/doc/support
parent2e70942b44a972908c3180dd7a3c68be51afc466 (diff)
latexindent (23feb17)
git-svn-id: svn://tug.org/texlive/trunk@43326 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/support')
-rw-r--r--Master/texmf-dist/doc/support/latexindent/README4
-rw-r--r--Master/texmf-dist/doc/support/latexindent/appendices.tex192
-rw-r--r--Master/texmf-dist/doc/support/latexindent/documentation/latexindent.pdfbin280224 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/support/latexindent/documentation/latexindent.tex1512
-rw-r--r--Master/texmf-dist/doc/support/latexindent/indent.yaml38
-rw-r--r--Master/texmf-dist/doc/support/latexindent/latexindent.pdfbin0 -> 524530 bytes
-rw-r--r--Master/texmf-dist/doc/support/latexindent/latexindent.tex467
-rw-r--r--Master/texmf-dist/doc/support/latexindent/logo.tex20
-rw-r--r--Master/texmf-dist/doc/support/latexindent/references.tex4
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex38
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-default-user-local.tex492
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-demonstration.tex40
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-how-to-use.tex248
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-indent-config-and-settings.tex154
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-introduction.tex47
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex555
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsec-commands-and-their-options.tex139
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsec-conflicting-poly-switches.tex137
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsec-noAdditionalIndent-indentRules.tex24
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsec-partnering-poly-switches.tex47
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-commands-with-arguments.tex100
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-environments-and-their-arguments.tex255
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-environments-with-items.tex59
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-headings.tex93
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-ifelsefi.tex70
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-no-add-remaining-code-blocks.tex109
-rw-r--r--Master/texmf-dist/doc/support/latexindent/subsubsec-special.tex60
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/alignmentoutsideEnvironments.tex29
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/bigTest.tex293
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/braceTest.tex57
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/braceTestsmall.tex31
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/bracketTest.tex6
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/conditional.tex12
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/environments.tex39
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/figureValign.tex124
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/filecontents.tex73
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/filecontents1.tex18
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/filecontents2.tex21
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/ifelsefi.tex103
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/ifelsefiONE.tex43
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/ifelsefiSmall.tex10
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/items1.tex10
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/items2.tex21
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/items3.tex22
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/items4.tex22
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/matrix.tex14
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/multipleBraces.tex15
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/nestedalignment.tex33
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/nestedalignment1.tex25
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/outputfile.tex57
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/preamble.tex29
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/pstricks1.tex26
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/pstricks2.tex68
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/pstricks3.tex49
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/sampleAFTER.tex5819
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/sampleBEFORE.tex5819
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/stylefile.tex135
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/table1.tex22
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/table2.tex26
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/table3.tex26
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/table4.tex22
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/table5.tex35
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/testHeadings-simple.tex56
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/testHeadings.tex59
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/testHeadings1.tex25
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/testItems.tex94
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/testcls.cls375
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/theorem.tex47
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/tikz1.tex88
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/tikz2.tex61
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/tikz3.tex53
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/tikz4.tex27
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/tikz5.tex34
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/torusPGF.tex20
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/torusPSTricks.tex18
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/trailingComments.tex7
-rw-r--r--Master/texmf-dist/doc/support/latexindent/success/verbatim1.tex21
77 files changed, 3353 insertions, 15690 deletions
diff --git a/Master/texmf-dist/doc/support/latexindent/README b/Master/texmf-dist/doc/support/latexindent/README
index 0fc5cf558ed..84048efae10 100644
--- a/Master/texmf-dist/doc/support/latexindent/README
+++ b/Master/texmf-dist/doc/support/latexindent/README
@@ -20,7 +20,7 @@
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+
-FOR COMPLETE DETAILS, PLEASE SEE documentation/manual.pdf
+FOR COMPLETE DETAILS, PLEASE SEE documentation/latexindent.pdf
Note: latexindent.exe was created using
@@ -34,6 +34,7 @@ USAGE
You'll need
latexindent.pl
+ LatexIndent/*.pm
defaultSettings.yaml
in the same directory. Windows users might prefer to grab latexindent.exe
@@ -49,5 +50,6 @@ I recommend both using the following:
- a visual check, at the very least, make sure that
each file has the same number of lines
- a check using latexdiff inputfile.tex outputfile.tex
+ - git status myfile.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/support/latexindent/appendices.tex b/Master/texmf-dist/doc/support/latexindent/appendices.tex
new file mode 100644
index 00000000000..cc77004e45b
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/appendices.tex
@@ -0,0 +1,192 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\appendix
+ \section{Required \texttt{Perl} modules}\label{sec:requiredmodules}
+ If you intend to use \texttt{latexindent.pl} and \emph{not} one of the supplied standalone executable files, then you will need a few standard Perl modules -- if you can run the
+ minimum code in \cref{lst:helloworld} (\texttt{perl helloworld.pl}) then you will be able to run \texttt{latexindent.pl}, otherwise you may
+ need to install the missing modules.
+
+ \begin{cmhlistings}[language=Perl]{\texttt{helloworld.pl}}{lst:helloworld}
+ #!/usr/bin/perl
+
+ use strict;
+ use warnings;
+ use FindBin;
+ use YAML::Tiny;
+ use File::Copy;
+ use File::Basename;
+ use File::HomeDir;
+ use Getopt::Long;
+ use Data::Dumper;
+
+ print "hello world";
+ exit;
+\end{cmhlistings}
+ My default installation on Ubuntu 12.04 did \emph{not} come
+ with all of these modules as standard, but Strawberry Perl for Windows \cite{strawberryperl}
+ did.
+
+ Installing the modules given in \cref{lst:helloworld} will vary depending on your
+ operating system and \texttt{Perl} distribution. For example, Ubuntu users
+ might visit the software center, or else run
+ \begin{commandshell}
+sudo perl -MCPAN -e 'install "File::HomeDir"'
+ \end{commandshell}
+
+ Linux users may be interested in exploring Perlbrew \cite{perlbrew}; possible installation and setup
+ options follow for Ubuntu (other distributions will need slightly different commands).
+ \begin{commandshell}
+sudo apt-get install perlbrew
+perlbrew install perl-5.20.1
+perlbrew switch perl-5.20.1
+sudo apt-get install curl
+curl -L http://cpanmin.us | perl - App::cpanminus
+cpanm YAML::Tiny
+cpanm File::HomeDir
+\end{commandshell}
+
+ Strawberry Perl users on Windows might use
+ \texttt{CPAN client}. All of the modules are readily available on CPAN \cite{cpan}.
+
+ \texttt{indent.log} will contain details of the location
+ of the Perl modules on your system. \texttt{latexindent.exe} is a standalone
+ executable for Windows (and therefore does not require a Perl distribution) and caches copies of the Perl modules onto your system; if you
+ wish to see where they are cached, use the \texttt{trace} option, e.g
+ \begin{dosprompt}
+latexindent.exe -t myfile.tex
+ \end{dosprompt}
+
+ \section{Updating the \texttt{path} variable}\label{sec:updating-path}
+ \texttt{latexindent.pl} has a few scripts (available at \cite{latexindent-home}) that can update the \texttt{path} variables\footnote{Thanks to \cite{jasjuang} for this feature!}. If you're
+ on a Linux or Mac machine, then you'll want \texttt{CMakeLists.txt} from \cite{latexindent-home}.
+ \subsection{Add to path for Linux}
+ To add \texttt{latexindent.pl} to the path for Linux, follow these steps:
+ \begin{enumerate}
+ \item download \texttt{latexindent.pl} and its associated modules, \texttt{defaultSettings.yaml},
+ to your chosen directory from \cite{latexindent-home} ;
+ \item within your directory, create a directory called \texttt{path-helper-files} and
+ download \texttt{CMakeLists.txt} and \lstinline!cmake_uninstall.cmake.in!
+ from \cite{latexindent-home}/path-helper-files to this directory;
+ \item run
+ \begin{commandshell}
+ls /usr/local/bin
+ \end{commandshell}
+ to see what is \emph{currently} in there;
+ \item run the following commands
+ \begin{commandshell}
+sudo apt-get install cmake
+sudo apt-get update && sudo apt-get install build-essential
+mkdir build && cd build
+cmake ../path-helper-files
+sudo make install
+\end{commandshell}
+ \item run
+ \begin{commandshell}
+ls /usr/local/bin
+ \end{commandshell}
+ again to check that \texttt{latexindent.pl}, its modules and \texttt{defaultSettings.yaml} have been added.
+ \end{enumerate}
+ To \emph{remove} the files, run
+ \begin{commandshell}
+sudo make uninstall}.
+ \end{commandshell}
+ \subsection{Add to path for Windows}
+ To add \texttt{latexindent.exe} to the path for Windows, follow these steps:
+ \begin{enumerate}
+ \item download \texttt{latexindent.exe}, \texttt{defaultSettings.yaml}, \texttt{add-to-path.bat}
+ from \cite{latexindent-home} to your chosen directory;
+ \item open a command prompt and run the following command to see what is \emph{currently} in your \lstinline!%path%! variable;
+ \begin{dosprompt}
+echo %path%
+ \end{dosprompt}
+ \item right click on \texttt{add-to-path.bat} and \emph{Run as administrator};
+ \item log out, and log back in;
+ \item open a command prompt and run
+ \begin{dosprompt}
+echo %path%
+ \end{dosprompt}
+ to check that the appropriate directory has been added to your \lstinline!%path%!.
+ \end{enumerate}
+ To \emph{remove} the directory from your \lstinline!%path%!, run \texttt{remove-from-path.bat} as administrator.
+
+ \section{Differences from Version 2.2 to 3.0}\label{app:differences}
+ There are a few (small) changes to the interface when comparing Version 2.2 to Version 3.0.
+ Explicitly, in previous versions you might have run, for example,
+ \begin{commandshell}
+latexindent.pl -o myfile.tex outputfile.tex
+ \end{commandshell}
+ whereas in Version 3.0 you would run any of the following, for example,
+ \begin{commandshell}
+latexindent.pl -o=outputfile.tex myfile.tex
+latexindent.pl -o outputfile.tex myfile.tex
+latexindent.pl myfile.tex -o outputfile.tex
+latexindent.pl myfile.tex -o=outputfile.tex
+latexindent.pl myfile.tex -outputfile=outputfile.tex
+latexindent.pl myfile.tex -outputfile outputfile.tex
+ \end{commandshell}
+ noting that the \emph{output} file is given \emph{next to} the \texttt{-o} switch.
+
+ The fields given in \cref{lst:obsoleteYaml} are \emph{obsolete} from Version 3.0
+ onwards.
+ \begin{yaml}[style=yaml-LST,numbers=none]{Obsolete YAML fields from Version 3.0}[colframe=white!25!red,colbacktitle=white!75!red,colback=white!90!red,]{lst:obsoleteYaml}
+alwaysLookforSplitBrackets
+alwaysLookforSplitBrackets
+checkunmatched
+checkunmatchedELSE
+checkunmatchedbracket
+constructIfElseFi
+\end{yaml}
+
+ There is a slight difference when specifying indentation after headings; specifically,
+ we now write \texttt{indentAfterThisHeading} instead of \texttt{indent}. See \cref{lst:indentAfterThisHeadingOld,lst:indentAfterThisHeadingNew}
+
+ \begin{minipage}{.45\textwidth}
+ \begin{yaml}[style=yaml-LST,numbers=none]{\texttt{indentAfterThisHeading} in Version 2.2}{lst:indentAfterThisHeadingOld}
+indentAfterHeadings:
+ part:
+ indent: 0
+ level: 1
+\end{yaml}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \begin{yaml}[style=yaml-LST,numbers=none]{\texttt{indentAfterThisHeading} in Version 3.0}{lst:indentAfterThisHeadingNew}
+indentAfterHeadings:
+ part:
+ indentAfterThisHeading: 0
+ level: 1
+\end{yaml}
+ \end{minipage}%
+
+ To specify \texttt{noAdditionalIndent} for display-math environments in Version 2.2, you would write YAML
+ as in \cref{lst:noAdditionalIndentOld}; as of Version 3.0, you would write YAML as in \cref{lst:indentAfterThisHeadingNew1}
+ or, if you're using \texttt{-m} switch, \cref{lst:indentAfterThisHeadingNew2}.
+
+ \begin{minipage}{.45\textwidth}
+ \begin{yaml}[style=yaml-LST,numbers=none]{\texttt{noAdditionalIndent} in Version 2.2}{lst:noAdditionalIndentOld}
+noAdditionalIndent:
+ \[: 0
+ \]: 0
+\end{yaml}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \begin{yaml}[style=yaml-LST,numbers=none]{\texttt{noAdditionalIndent} for \texttt{displayMath} in Version 3.0}{lst:indentAfterThisHeadingNew1}
+specialBeginEnd:
+ displayMath:
+ begin: '\\\['
+ end: '\\\]'
+ lookForThis: 0
+\end{yaml}
+
+ \begin{yaml}[style=yaml-LST,numbers=none]{\texttt{noAdditionalIndent} for \texttt{displayMath} in Version 3.0}{lst:indentAfterThisHeadingNew2}
+noAdditionalIndent:
+ displayMath: 1
+\end{yaml}
+ \end{minipage}%
+
+ \mbox{}\hfill \begin{minipage}{.25\textwidth}
+ \hrule
+
+ \hfill\itshape End
+
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.pdf b/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.pdf
deleted file mode 100644
index 4ac36f075da..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.tex b/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.tex
deleted file mode 100644
index c39b89e627e..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/documentation/latexindent.tex
+++ /dev/null
@@ -1,1512 +0,0 @@
-% arara: pdflatex
-% arara: bibtex
-% arara: pdflatex
-% arara: pdflatex
-% !arara: pdflatex
-% !arara: indent: {overwrite: yes, trace: yes, localSettings: yes, silent: yes}
-\documentclass[11pt]{article}
-% This program is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% This program is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-% GNU General Public License for more details.
-%
-% See <http://www.gnu.org/licenses/>.
-\usepackage[left=4.5cm,right=2.5cm,showframe=false,
-top=2cm,bottom=1.5cm]{geometry} % page setup
-\usepackage{parskip} % paragraph skips
-\usepackage{booktabs} % beautiful tables
-\usepackage{listings} % nice verbatim environments
-\usepackage{titlesec} % customize headings
-\usepackage{changepage} % adjust width of page
-\usepackage{fancyhdr} % headers & footers
-\usepackage[sc,format=hang,font=small]{caption} % captions
-\usepackage[backend=bibtex]{biblatex} % bibliography
-\usepackage{tcolorbox} % framed environments
-\usepackage[charter]{mathdesign} % changes font
-\usepackage[expansion=false,kerning=true]{microtype} % better kerning
-\usepackage{enumitem} % custom lists
-% setup gitinfo2, as in the manual, details just above begin{document}
-\usepackage[mark,grumpy]{gitinfo2}
-\usepackage{examplep}
-% tcolorbox libraries
-\tcbuselibrary{breakable,skins,listings}
-% tikz libraries
-\usetikzlibrary{positioning}
-\usetikzlibrary{decorations.pathmorphing}
-\usetikzlibrary{decorations,shapes}
-\usepackage{varioref} % clever referencing
-\usepackage{hyperref}
-\hypersetup{
- pdfauthor={Chris Hughes},
- pdftitle={latexindent.pl package},
- pdfkeywords={perl;beautify;indentation},
- bookmarksnumbered,
- bookmarksopen,
- linktocpage,
- colorlinks=true,
- linkcolor=blue,
- citecolor=black,
-}
-\usepackage{cleveref}
-
-\addbibresource{latex-indent}
-\addbibresource{contributors}
-
-
-% http://tex.stackexchange.com/questions/122135/how-to-add-a-png-icon-on-the-right-side-of-a-tcolorbox-title
-\newtcolorbox{warning}{parbox=false,breakable,enhanced,arc=0mm,colback=red!5,colframe=red,leftrule=12mm,%
- overlay={\node[anchor=north west,outer sep=2pt] at (frame.north west) {\includegraphics[width=8mm]{warning}}; }}
-
-\makeatletter
-\tcbset{
- addtolol/.style={list entry={\kvtcb@title},add to list={lol}{lstlisting}},
-}
-
-\newtcblisting[use counter=lstlisting]{cmhlistings}[3][]{%
- width=\linewidth,
- breakable,
- colback=blue!5!white,
- colframe=white!85!black,
- top=0cm,
- bottom=0cm,
- left=6mm,
- listing only,
- listing options={#1},
- center title,
- title={\color{black}{\scshape Listing \thetcbcounter}: ~#2},label={#3},
- addtolol,
-}
-
-\lstset{%
- basicstyle=\small\ttfamily,language={[LaTeX]TeX},
- % numbers=left,
- numberstyle=\ttfamily%\small,
- breaklines=true,
- % frame=single,framexleftmargin=8mm, xleftmargin=8mm,
- % prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookrightarrow}},
- % backgroundcolor=\color{green!5},frameround=fttt,
- % rulecolor=\color{blue!70!black},
- keywordstyle=\color{blue}, % keywords
- commentstyle=\color{purple}, % comments
- tabsize=3,
- %xleftmargin=1.5em,
-}%
-\lstdefinestyle{yaml}{%
- numbers=left,
- numberstyle=\color{black},}
-\lstdefinestyle{demo}{
- numbers=none,
- linewidth=1.25\textwidth,
- columns=fullflexible,
-}
-
-% stars around contributors
-\pgfdeclaredecoration{stars}{initial}{
- \state{initial}[width=15pt]
- {
- \pgfmathparse{round(rnd*100)}
- \pgfsetfillcolor{yellow!\pgfmathresult!orange}
- \pgfsetstrokecolor{yellow!\pgfmathresult!red}
- \pgfnode{star}{center}{}{}{\pgfusepath{stroke,fill}}
- }
- \state{final}
- {
- \pgfpathmoveto{\pgfpointdecoratedpathlast}
- }
-}
-
-\newtcolorbox{stars}{%
- enhanced jigsaw,
- breakable, % allow page breaks
- left=0cm,
- top=0cm,
- before skip=0.2cm,
- boxsep=0cm,
- frame style={draw=none,fill=none}, % hide the default frame
- colback=white,
- overlay={
- \draw[inner sep=0,minimum size=rnd*15pt+2pt]
- decorate[decoration={stars,segment length=2cm}] {
- decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
- ([xshift=-.5cm,yshift=0.1cm]frame.south west) -- ([xshift=-.5cm,yshift=0.4cm]frame.north west)
- }};
- \draw[inner sep=0,minimum size=rnd*15pt+2pt]
- decorate[decoration={stars,segment length=2cm}] {
- decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
- ([xshift=.75cm,yshift=0.1cm]frame.south east) -- ([xshift=.75cm,yshift=0.6cm]frame.north east)
- }};
- },
- % paragraph skips obeyed within tcolorbox
- parbox=false,
-}
-
-% copied from /usr/local/texlive/2013/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx
-% the only modification is the \stars and \endstars
-\defbibenvironment{specialbib}
-{\stars\list
- {\printtext[labelnumberwidth]{%
- \printfield{prefixnumber}%
- \printfield{labelnumber}}}
- {\setlength{\labelwidth}{\labelnumberwidth}%
- \setlength{\leftmargin}{\labelwidth}%
- \setlength{\labelsep}{\biblabelsep}%
- \addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\bibitemsep}%
- \setlength{\parsep}{\bibparsep}}%
- \renewcommand*{\makelabel}[1]{\hss##1}}
-{\endlist\endstars}
-{\item}
-
-% see: http://tex.stackexchange.com/questions/2245/verbatim-description-list-item
-\newcommand{\verbitem}[1]{\small\PVerb{#1}}
-% stolen from arara.sty http://mirrors.med.harvard.edu/ctan/support/arara/doc/arara.sty
-%\lstnewenvironment{yaml}[1][]{\lstset{%
-% basicstyle=\ttfamily,
-% numbers=left,
-% xleftmargin=1.5em,
-% breaklines=true,
-% numberstyle=\ttfamily\small,
-% columns=flexible,
-% mathescape=false,
-% #1,
-%}}
-%{}
-
-\newcommand{\fixthis}[1]
-{%
- \marginpar{\huge \color{red} \framebox{FIX}}%
- \typeout{FIXTHIS: p\thepage : #1^^J}%
-}
-% custom section
-\titleformat{\section}
-{\normalfont\Large\bfseries}
-{\llap{\thesection\hskip.5cm}}
-{0pt}
-{}
-% custom subsection
-\titleformat{\subsection}
-{\normalfont\bfseries}
-{\llap{\thesubsection\hskip.5cm}}
-{0pt}
-{}
-% custom subsubsection
-\titleformat{\subsubsection}
-{\normalfont\bfseries}
-{\llap{\thesubsubsection\hskip.5cm}}
-{0pt}
-{}
-
-
-\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{-5pt plus 2pt minus 2pt}
-\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{-6pt plus 2pt minus 2pt}
-\titlespacing\subsubsection{0pt}{12pt plus 4pt minus 2pt}{-6pt plus 2pt minus 2pt}
-
-
-% cleveref settings
-\crefname{table}{Table}{Tables}
-\Crefname{table}{Table}{Tables}
-\crefname{figure}{Figure}{Figures}
-\Crefname{figure}{Figure}{Figures}
-\crefname{section}{Section}{Sections}
-\Crefname{section}{Section}{Sections}
-\crefname{listing}{Listing}{Listings}
-\Crefname{listing}{Listing}{Listings}
-
-% headers and footers
-\fancyhf{} % delete current header and footer
-\fancyhead[R]{\bfseries\thepage}
-\fancyheadoffset[L]{3cm}
-\pagestyle{fancy}
-
-% renew plain style
-\fancypagestyle{plain}{%
-\fancyhf{} % clear all header and footer fields
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{0pt}}
-
-% sidebyside environment
-\newenvironment{sidebyside}{\begin{adjustwidth}{-3cm}{1cm}}{\end{adjustwidth}}
-
-% gitinfo2 settings
-\renewcommand{\gitMark}{\gitBranch\,@\,\gitAbbrevHash{}\,\textbullet{}\,\gitAuthorDate }
-
-% setting up gitinfo2:
-% copy the file post-xxx-sample.txt from https://www.ctan.org/tex-archive/macros/latex/contrib/gitinfo2
-% and put it in .git/hooks/post-checkout
-% then
-% cd .git/hooks
-% chmod g+x post-checkout
-% chmod +x post-checkout
-% cp post-checkout post-commit
-% cp post-checkout post-merge
-% cd ../..
-% git checkout master
-% git checkout develop
-% ls .git
-% and you should see gitHeadInfo.gin
-\begin{document}
-% \begin{noindent}
- \title{\lstinline[basicstyle=\huge\ttfamily]!latexindent.pl!\\[1cm]
- Version 2.2}
-% \end{noindent}
-\author{Chris Hughes \footnote{and contributors! (See \vref{sec:contributors}.)}}
-\maketitle
-\begin{abstract}
- \lstinline!latexindent.pl! is a \lstinline!Perl! script that indents \lstinline!.tex! (and other)
- files according to an indentation scheme that the user can modify to suit their
- taste. Environments, including those with alignment delimiters (such as \lstinline!tabular!),
- and commands, including those that can split braces and brackets across lines,
- are \emph{usually} handled correctly by the script. Options for \lstinline!verbatim!-like
- environments and indentation after headings (such as \lstinline!\chapter!, \lstinline!\section!, etc)
- are also available.
-\end{abstract}
-
-\tableofcontents
-\lstlistoflistings
-
-\section{Before we begin}
-\subsection{Thanks}
-I first created \lstinline!latexindent.pl! to help me format chapter files
-in a big project. After I blogged about it on the
-\TeX{} stack exchange \cite{cmhblog} I received some positive feedback and
-follow-up feature requests. A big thank you to Harish Kumar who has really
-helped to drive the script forward and has put it through a number of challenging
-tests--I look forward to more challenges in the future Harish!
-
-The \lstinline!yaml!-based interface of \lstinline!latexindent.pl! was inspired
-by the wonderful \lstinline!arara! tool; any similarities are deliberate, and
-I hope that it is perceived as the compliment that it is. Thank you to Paulo Cereda and the
-team for releasing this awesome tool; I initially worried that I was going to
-have to make a GUI for \lstinline!latexindent.pl!, but the release of \lstinline!arara!
-has meant there is no need. Thank you to Paulo for all of your advice and
-encouragement.
-
-There have been several contributors to the project so far (and hopefully more in
-the future!); thank you very much to the people detailed in \vref{sec:contributors}
-for their valued contributions.
-
-\subsection{License}
-\lstinline!latexindent.pl! is free and open source, and it always will be.
-Before you start using it on any important files, bear in mind that \lstinline!latexindent.pl! has the option to overwrite your \lstinline!.tex! files.
-It will always make at least one backup (you can choose how many it makes, see \cpageref{page:onlyonebackup})
-but you should still be careful when using it. The script has been tested on many
-files, but there are some known limitations (see \cref{sec:knownlimitations}).
-You, the user, are responsible for ensuring that you maintain backups of your files
-before running \lstinline!latexindent.pl! on them. I think it is important at this
-stage to restate an important part of the license here:
-\begin{quote}\itshape
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-\end{quote}
-There is certainly no malicious intent in releasing this script, and I do hope
-that it works as you expect it to--if it does not, please first of all
-make sure that you have the correct settings, and then feel free to let me know with a
-complete minimum working example as I would like to improve the code as much as possible.
-
-\begin{warning}
- Before you try the script on anything important (like your thesis), test it
- out on the sample files that come with it in the \lstinline!success! directory.
-\end{warning}
-
-
-\section{Demonstration: before and after}
-Let's give a demonstration of some before and after code--after all, you probably
-won't want to try the script if you don't much like the results. You might also
-like to watch the video demonstration I made on youtube \cite{cmh:videodemo}
-
-As you look at \crefrange{lst:filecontentsbefore}{lst:pstricksafter}, remember
-that \lstinline!latexindent.pl! is just following its rules--there is nothing
-particular about these code snippets. All of the rules can be modified
-so that each user can personalize their indentation scheme.
-
-In each of the samples given in \crefrange{lst:filecontentsbefore}{lst:pstricksafter}
-the `before' case is a `worst case scenario' with no effort to make indentation. The `after'
-result would be the same, regardless of the leading white space at the beginning of
-each line which is stripped by \lstinline!latexindent.pl! (unless a \lstinline!verbatim!-like
-environment or \lstinline!noIndentBlock! is specified--more on this in \cref{sec:defuseloc}).
-
- \begin{sidebyside}
- \noindent
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!filecontents! before}{lst:filecontentsbefore}
-\begin{filecontents}{mybib.bib}
-@online{strawberryperl,
-title="Strawberry Perl",
-url="http://strawberryperl.com/"}
-@online{cmhblog,
-title="A Perl script ...
-url="...
-\end{filecontents}
- \end{cmhlistings}
- \end{minipage}%
- \noindent
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!filecontents! after}{lst:filecontentsafter}
-\begin{filecontents}{mybib.bib}
- @online{strawberryperl,
- title="Strawberry Perl",
- url="http://strawberryperl.com/"}
- @online{cmhblog,
- title="A Perl script for ...
- url="...
-\end{filecontents}
- \end{cmhlistings}
- \end{minipage}
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!tikzset! before}{lst:tikzsetbefore}
-\tikzset{
-shrink inner sep/.code={
-\pgfkeysgetvalue...
-\pgfkeysgetvalue...
-}
-}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!tikzset! after}{lst:tikzsetafter}
-\tikzset{
- shrink inner sep/.code={
- \pgfkeysgetvalue...
- \pgfkeysgetvalue...
- }
-}
- \end{cmhlistings}
- \end{minipage}
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!pstricks! before}{lst:pstricksbefore}
-\def\Picture#1{%
-\def\stripH{#1}%
-\begin{pspicture}[showgrid...
-\psforeach{\row}{%
-{{3,2.8,2.7,3,3.1}},% <=== Only this
-{2.8,1,1.2,2,3},%
-...
-}{%
-\expandafter...
-}
-\end{pspicture}}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.6\textwidth}
- \begin{cmhlistings}[style=demo]{\lstinline!pstricks! after}{lst:pstricksafter}
-\def\Picture#1{%
- \def\stripH{#1}%
- \begin{pspicture}[showgrid...
- \psforeach{\row}{%
- {{3,2.8,2.7,3,3.1}},% <===
- {2.8,1,1.2,2,3},%
- ...
- }{%
- \expandafter...
- }
- \end{pspicture}}
- \end{cmhlistings}
- \end{minipage}
- \end{sidebyside}
-
-\section{How to use the script}
-\lstinline!latexindent.pl! ships as part of the \TeX Live distribution for
-Linux and Mac users; \lstinline!latexindent.exe! ships as part of the \TeX Live
-and MiK\TeX distributions for Windows users. These files are also available
-from github \cite{latexindent-home} should you wish to use them without
-a \TeX{} distribution; in this case, you may like to read \vref{sec:updating-path}
-which details how the \lstinline!path! variable can be updated.
-
-In what follows, we will always refer to \lstinline!latexindent.pl!, but depending on
-your operating system and preference, you might substitute \lstinline!latexindent.exe! or
-simply \lstinline!latexindent!.
-
-There are two ways to use \lstinline!latexindent.pl!: from the command line,
-and using \lstinline!arara!; we discuss these in \cref{sec:commandline} and
-\cref{sec:arara} respectively. We will discuss how to change the settings and
-behaviour of the script in \vref{sec:defuseloc}.
-
-\lstinline!latexindent.pl! ships with \lstinline!latexindent.exe! for Windows
-users, so that you can use the script with or without a Perl distribution.
-If you plan to use \lstinline!latexindent.pl! (i.e, the original Perl script) then you will
-need a few standard Perl modules--see \vref{sec:requiredmodules} for details.
-
-\subsection{From the command line}\label{sec:commandline}
-\lstinline!latexindent.pl! has a number of different switches/flags/options, which
-can be combined in any way that you like, either in short or long form as detailed below.
-\lstinline!latexindent.pl! produces a \lstinline!.log! file, \lstinline!indent.log! every time it
-is run. There is a base of information that is written to \lstinline!indent.log!,
-but other additional information will be written depending
-on which of the following options are used.
-
-\begin{itemize}[labelsep=.25cm]
- \item[] \lstinline!latexindent.pl!
-
- This will output a welcome message to the terminal, including the version number
- and available options.
- \item[\verbitem{-h, --help}] \lstinline!latexindent.pl -h!
-
- As above this will output a welcome message to the terminal, including the version number
- and available options.
- \item[] \lstinline!latexindent.pl myfile.tex!
-
- This will operate on \lstinline!myfile.tex!, but will simply output to your terminal; \lstinline!myfile.tex! will not be changed in any way using this command.
- \item[\verbitem{-w, --overwrite}] \lstinline!latexindent.pl -w myfile.tex!
-
- This \emph{will} overwrite \lstinline!myfile.tex!, but it will
- make a copy of \lstinline!myfile.tex! first. You can control the name of
- the extension (default is \lstinline!.bak!), and how many different backups are made--
- more on this in \cref{sec:defuseloc}; see \lstinline!backupExtension! and \lstinline!onlyOneBackUp!.
-
- Note that if \lstinline!latexindent.pl! can not create the backup, then it
- will exit without touching your original file; an error message will be given
- asking you to check the permissions of the backup file.
- \item[\verbitem{-o,--outputfile}] \lstinline!latexindent.pl -o myfile.tex outputfile.tex!
-
- This will indent \lstinline!myfile.tex! and output it to \lstinline!outputfile.tex!,
- overwriting it (\lstinline!outputfile.tex!) if it already exists. Note that if \lstinline!latexindent.pl! is called with both
- the \lstinline!-w! and \lstinline!-o! switches, then \lstinline!-w! will
- be ignored and \lstinline!-o! will take priority (this seems safer than the
- other way round).
-
- Note that using \lstinline!-o! is equivalent to using \lstinline!latexindent.pl myfile.tex > outputfile.tex!
- \item[\verbitem{-s, --silent}] \lstinline!latexindent.pl -s myfile.tex!
-
- Silent mode: no output will be given to the terminal.
- \item[\verbitem{-t, --trace}] \lstinline!latexindent.pl -t myfile.tex!
-
- \label{page:traceswitch}
- Tracing mode: verbose output will be given to \lstinline!indent.log!. This
- is useful if \lstinline!latexindent.pl! has made a mistake and you're
- trying to find out where and why. You might also be interested in learning
- about \lstinline!latexindent.pl!'s thought process--if so, this
- switch is for you.
- \item[\verbitem{-tt, --ttrace}] \lstinline!latexindent.pl -tt myfile.tex!
-
- \emph{More detailed} tracing mode: this option gives more details to \lstinline!indent.log!
- than the standard \lstinline!trace! option.
- \item[\verbitem{-l, --local[=myyaml.yaml]}] \lstinline!latexindent.pl -l myfile.tex!
-
-\lstinline!latexindent.pl -l=myyaml.yaml myfile.tex!
-
-\lstinline!latexindent.pl -l myyaml.yaml myfile.tex!
-
-
- \label{page:localswitch}
- Local settings: you might like to read \cref{sec:defuseloc} before
- using this switch. \lstinline!latexindent.pl! will always load \lstinline!defaultSettings.yaml!
- and if it is called with the \lstinline!-l! switch and it finds \lstinline!localSettings.yaml!
- in the same directory as \lstinline!myfile.tex! then these settings will be
- added to the indentation scheme. Information will be given in \lstinline!indent.log! on
- the success or failure of loading \lstinline!localSettings.yaml!.
-
-The \lstinline!-l! flag can take an \emph{optional} parameter which details the name of a \lstinline!yaml! file
-that resides in the same directory as \lstinline!myfile.tex!; you can use this option if you would
-like to load a settings file in the current working directory that is \emph{not} called \lstinline!localSettings.yaml!.
-
- \item[\verbitem{-d, --onlydefault}] \lstinline!latexindent.pl -d myfile.tex!
-
- Only \lstinline!defaultSettings.yaml!: you might like to read \cref{sec:defuseloc} before
- using this switch. By default, \lstinline!latexindent.pl! will always search for
- \lstinline!indentconfig.yaml! or \lstinline!.indentconfig.yaml! in your home directory. If you would prefer it not to do so
- then (instead of deleting or renaming \lstinline!indentconfig.yaml!/\lstinline!.indentconfig.yaml!) you can simply
- call the script with the \lstinline!-d! switch; note that this will also tell
- the script to ignore \lstinline!localSettings.yaml! even if it has been called with the
- \lstinline!-l! switch.
-
- \item[\verbitem{-c, --cruft=<directory>}]\lstinline!latexindent.pl -c=/path/to/directory/ myfile.tex!
-
- If you wish to have backup files and \lstinline!indent.log! written to a directory
- other than the current working directory, then you can send these `cruft' files
- to another directory.
- % this switch was made as a result of http://tex.stackexchange.com/questions/142652/output-latexindent-auxiliary-files-to-a-different-directory
-\end{itemize}
-
-\lstinline!latexindent.pl! can also be called on a file without the file extension, for
-example \lstinline[breaklines=true,breakatwhitespace=true,]!latexindent.pl myfile! and in which case, you can specify
-the order in which extensions are searched for; see \vref{lst:fileExtensionPreference}
-for full details.
-
-\subsection{From \lstinline!arara!}\label{sec:arara}
-Using \lstinline!latexindent.pl! from the command line is fine for some folks, but
-others may find it easier to use from \lstinline!arara!. \lstinline!latexindent.pl!
-ships with an \lstinline!arara! rule, \lstinline!indent.yaml!, which can be copied
-to the directory of
-your other \lstinline!arara! rules; otherwise you can add the directory in which \lstinline!latexindent.pl!
-resides to your \lstinline!araraconfig.yaml! file.
-
-Once you have told \lstinline!arara! where to find your \lstinline!indent! rule,
-you can use it any of the ways described in \cref{lst:arara} (or combinations thereof).
-In fact, \lstinline!arara! allows yet greater flexibility--you can use \lstinline!yes/no!, \lstinline!true/false!, or \lstinline!on/off! to toggle the various options.
-
-\begin{cmhlistings}[style=demo,escapeinside={(*@}{@*)}]{\lstinline!arara! sample usage}{lst:arara}
-%(*@@*) arara: indent
-%(*@@*) arara: indent: {overwrite: yes}
-%(*@@*) arara: indent: {output: myfile.tex}
-%(*@@*) arara: indent: {silent: yes}
-%(*@@*) arara: indent: {trace: yes}
-%(*@@*) arara: indent: {localSettings: yes}
-%(*@@*) arara: indent: {onlyDefault: on}
-%(*@@*) arara: indent: { cruft: /home/cmhughes/Desktop }
-\documentclass{article}
-...
-\end{cmhlistings}
-
-Hopefully the use of these rules is fairly self-explanatory, but for completeness
-\cref{tab:orbsandswitches} shows the relationship between \lstinline!arara! directive arguments and the
-switches given in \cref{sec:commandline}.
-
-\begin{table}[!ht]
- \centering
- \caption{\lstinline!arara! directive arguments and corresponding switches}
- \label{tab:orbsandswitches}
- \begin{tabular}{lc}
- \toprule
- \lstinline!arara! directive argument & switch \\
- \midrule
- \lstinline!overwrite! & \lstinline!-w! \\
- \lstinline!output! & \lstinline!-o! \\
- \lstinline!silent! & \lstinline!-s! \\
- \lstinline!trace! & \lstinline!-t! \\
- \lstinline!localSettings! & \lstinline!-l! \\
- \lstinline!onlyDefault! & \lstinline!-d! \\
- \lstinline!cruft! & \lstinline!-c! \\
- \bottomrule
- \end{tabular}
-\end{table}
-
-The \lstinline!cruft! directive does not work well when used with
-directories that contain spaces.
-
-\section{default, user, and local settings}\label{sec:defuseloc}
-\lstinline!latexindent.pl! loads its settings from \lstinline!defaultSettings.yaml!
-(rhymes with camel). The idea is to separate the behaviour of the script
-from the internal working--this is very similar to the way that we separate content
-from form when writing our documents in \LaTeX.
-
-\subsection{\lstinline!defaultSettings.yaml!}
-If you look in \lstinline!defaultSettings.yaml! you'll find the switches
-that govern the behaviour of \lstinline!latexindent.pl!. If you're not sure where
-\lstinline!defaultSettings.yaml! resides on your computer, don't worry as \lstinline!indent.log!
-will tell you where to find it.
-\lstinline!defaultSettings.yaml! is commented,
-but here is a description of what each switch is designed to do. The default
-value is given in each case.
-
-You can certainly feel free to edit \lstinline!defaultSettings.yaml!, but
-this is not ideal as it may be overwritten when you update your \TeX{} distribution --
-all of your hard work tweaking the script would be undone! Don't worry,
-there's a solution, feel free to peek ahead to \cref{sec:indentconfig} if you like.
-\begin{itemize}
- \item[\verbitem{defaultIndent}] \lstinline!"\t"!
-
- This is the default indentation (\lstinline!\t! means a tab) used in the absence of other details
- for the command or environment we are working with--see \lstinline!indentRules!
- for more details (\cpageref{page:indentRules}).
-
- If you're interested in experimenting with \lstinline!latexindent.pl! then you
- can \emph{remove} all indentation by setting \lstinline!defaultIndent: ""!
- \item[\verbitem{backupExtension}] \lstinline!.bak!
-
- If you call \lstinline!latexindent.pl! with the \lstinline!-w! switch (to overwrite
- \lstinline!myfile.tex!) then it will create a backup file before doing
- any indentation: \lstinline!myfile.bak0!
-
- By default, every time you call \lstinline!latexindent.pl! after this with
- the \lstinline!-w! switch it will create \lstinline!myfile.bak1!, \lstinline!myfile.bak2!,
- etc.
- \item[\verbitem{onlyOneBackUp}] \lstinline!0!
-
- \label{page:onlyonebackup}
- If you don't want a backup for every time that you call \lstinline!latexindent.pl! (so
- you don't want \lstinline!myfile.bak1!, \lstinline!myfile.bak2!, etc) and you simply
- want \lstinline!myfile.bak! (or whatever you chose \lstinline!backupExtension! to be)
- then change \lstinline!onlyOneBackUp! to \lstinline!1!.
-
- \item[\verbitem{maxNumberOfBackUps}]\lstinline!0!
-
- Some users may only want a finite number of backup files,
- say at most $3$, in which case, they can change this switch.
- The smallest value of \lstinline!maxNumberOfBackUps! is $0$ which will \emph{not}
- prevent backup files being made--in this case, the behaviour will be dictated
- entirely by \lstinline!onlyOneBackUp!.
- %\footnote{This was a feature request made on \href{https://github.com/cmhughes/latexindent.plx}{github}}
- \item[\verbitem{cycleThroughBackUps}]\lstinline!0!
-
- Some users may wish to cycle through backup files, by deleting the
- oldest backup file and keeping only the most recent; for example,
- with \lstinline!maxNumberOfBackUps: 4!, and \lstinline!cycleThroughBackUps!
- set to \lstinline!1! then the \lstinline!copy! procedure given in \cref{lst:cycleThroughBackUps}
- would be obeyed.
-
- \begin{cmhlistings}[language=Perl]{\lstinline!cycleThroughBackUps!}{lst:cycleThroughBackUps}
-copy myfile.bak1 to myfile.bak0
-copy myfile.bak2 to myfile.bak1
-copy myfile.bak3 to myfile.bak2
-copy myfile.bak4 to myfile.bak3
- \end{cmhlistings}
-
- \item[\verbitem{indentPreamble}] \lstinline!0!
-
- The preamble of a document can sometimes contain some trickier code
- for \lstinline!latexindent.pl! to work with. By default, \lstinline!latexindent.pl!
- won't try to operate on the preamble, but if you'd like it to try then
- change \lstinline!indentPreamble! to \lstinline!1!.
- \item[\verbitem{alwaysLookforSplitBraces}] \lstinline!1!
-
- This switch tells \lstinline!latexindent.pl! to look for commands that
- can split \emph{braces} across lines, such as \lstinline!parbox!, \lstinline!tikzset!, etc. In older
- versions of \lstinline!latexindent.pl! you had to specify each one in \lstinline!checkunmatched!--this
- clearly became tedious, hence the introduction of \lstinline!alwaysLookforSplitBraces!.
-
- \emph{As long as you leave this switch on (set to 1) you don't need to specify which
- commands can split braces across lines--you can ignore the
- fields \lstinline!checkunmatched! and \lstinline!checkunmatchedELSE! described
- later on \cpageref{lst:checkunmatched}}.
- \item[\verbitem{alwaysLookforSplitBrackets}] \lstinline!1!
-
- This switch tells \lstinline!latexindent.pl! to look for commands that
- can split \emph{brackets} across lines, such as \lstinline!psSolid!, \lstinline!pgfplotstabletypeset!,
- etc. In older versions of \lstinline!latexindent.pl! you had to specify each one in \lstinline!checkunmatchedbracket!--
- this clearly became tedious, hence the introduction of \lstinline!alwaysLookforSplitBraces!.
-
- \emph{As long as you leave this switch on (set to 1) you don't need to specify which
- commands can split brackets across lines--you can ignore \lstinline!checkunmatchedbracket! described later on
- \cpageref{lst:checkunmatched}}.
-
- \item[\verbitem{removeTrailingWhitespace}] \lstinline!0!
-
- By default \lstinline!latexindent.pl! indents every line (including empty lines)
- which creates `trailing white space' feared by most version control systems. If
- this option is set to \lstinline!1!, trailing white space is removed from all
- lines, also non-empty ones. In general this should not create any problems, but
- by precaution this option is turned off by default. Thanks to \cite{vosskuhle} for
- providing this feature.
-
- \item[\verbitem{lookForAlignDelims}] This is the first example of a field
- in \lstinline!defaultSettings.yaml! that has more than one line; \cref{lst:aligndelims:basic}
- shows more details. In fact, the fields in \verbitem{lookForAlignDelims} can actually
- take two different forms: the \emph{basic} version is shown in \cref{lst:aligndelims:basic}
- and the \emph{advanced} version in \cref{lst:aligndelims:advanced}; we will discuss each in turn.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!lookForAlignDelims! (basic)}{lst:aligndelims:basic}
-lookForAlignDelims:
- tabular: 1
- tabularx: 1
- longtable: 1
- array: 1
- matrix: 1
- bmatrix: 1
- pmatrix: 1
- align: 1
- align*: 1
- alignat: 1
- alignat*: 1
- aligned: 1
- cases: 1
- dcases: 1
- pmatrix: 1
- listabla: 1
- \end{cmhlistings}
-
- The environments specified in this field will be operated on in a special way by \lstinline!latexindent.pl!. In particular, it will try and align each column by its alignment
- tabs. It does have some limitations (discussed further in \cref{sec:knownlimitations}),
- but in many cases it will produce results such as those in \cref{lst:tabularbefore:basic,lst:tabularafter:basic}.
-
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! before}{lst:tabularbefore:basic}
-\begin{tabular}{cccc}
-1& 2 &3 &4\\
-5& &6 &\\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! after (basic)}{lst:tabularafter:basic}
-\begin{tabular}{cccc}
- 1 & 2 & 3 & 4 \\
- 5 & & 6 & \\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}
-
- If you find that \lstinline!latexindent.pl! does not perform satisfactorily on such
- environments then you can either remove them from \lstinline!lookForAlignDelims! altogether, or set the relevant key to \lstinline!0!, for example \lstinline!tabular: 0!, or if you just want to ignore \emph{specific}
- instances of the environment, you could wrap them in something from \lstinline!noIndentBlock! (see \cref{lst:noIndentBlock}).
-
- If you wish to remove the alignment of the \lstinline!\\! within a delimiter-aligned block, then the
- advanced form of \lstinline!lookForAlignDelims! shown in \cref{lst:aligndelims:advanced} is for you.
- \begin{cmhlistings}[style=yaml]{\lstinline!lookForAlignDelims! (advanced)}{lst:aligndelims:advanced}
-lookForAlignDelims:
- tabular:
- delims: 1
- alignDoubleBackSlash: 0
- spacesBeforeDoubleBackSlash: 0
- tabularx:
- delims: 1
- longtable: 1
- \end{cmhlistings}
-
- Note that you can use a mixture of the basic and advanced form: in \cref{lst:aligndelims:advanced} \lstinline!tabular! and \lstinline!tabularx!
- are advanced and \lstinline!longtable! is basic. When using the advanced form, each field should receive at least 1 sub-field, and \emph{can} (but does not have to) receive up to 3 fields:
- \begin{itemize}
- \item \lstinline!delims!: switch equivalent to simply specifying, for example, \lstinline!tabular: 1! in
- the basic version shown in \cref{lst:aligndelims:basic} (default: 1);
- \item \lstinline!alignDoubleBackSlash!: switch to determine if \lstinline!\\! should be aligned (default: 1);
- \item \lstinline!spacesBeforeDoubleBackSlash!: optionally, specifies the number of spaces to be inserted
- before (non-aligned) \lstinline!\\!. In order to use this field, \lstinline!alignDoubleBackSlash! needs
- to be set to 0 (default: 0).
- \end{itemize}
-
- With the settings shown in \cref{lst:aligndelims:advanced} we receive the before-and-after results shown in
- \cref{lst:tabularbefore:advanced,lst:tabularafter:advanced}; note that the ampersands have been aligned, but
- the \lstinline!\\! have not (compare the alignment of \lstinline!\\! in \cref{lst:tabularafter:basic,lst:tabularafter:advanced}).
-
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! before }{lst:tabularbefore:advanced}
-\begin{tabular}{cccc}
-1& 2 &3 &4\\
-5& &6 &\\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! after (advanced)}{lst:tabularafter:advanced}
-\begin{tabular}{cccc}
- 1 & 2 & 3 & 4\\
- 5 & & 6 &\\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}
-
- Using \lstinline!spacesBeforeDoubleBackSlash: 3! gives \cref{lst:tabularbefore:spacing,lst:tabularafter:spacing},
- note the spacing before the \lstinline!\\! in \cref{lst:tabularafter:spacing}.
-
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! before}{lst:tabularbefore:spacing}
-\begin{tabular}{cccc}
-1& 2 &3 &4\\
-5& &6 &\\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,columns=fixed]{\lstinline!tabular! after (spacing)}{lst:tabularafter:spacing}
-\begin{tabular}{cccc}
- 1 & 2 & 3 & 4 \\
- 5 & & 6 & \\
-\end{tabular}
- \end{cmhlistings}
- \end{minipage}
-
-
-
-
- If you have blocks of code that you wish to align at the \& character that
- are \emph{not} wrapped in, for example, \lstinline!\begin{tabular}...\end{tabular}!, then you use the mark up
- illustrated in \cref{lst:alignmentmarkup}. Note that the \lstinline!%*! must be next to
- each other, but that there can be any number of spaces (possibly none) between the
- \lstinline!*! and \lstinline!\begin{tabular}!; note also that you may use any
- environment name that you have specified in \lstinline!lookForAlignDelims!.
- \begin{cmhlistings}[style=demo,columns=fixed]{Mark up for aligning delimiters outside of environments}{lst:alignmentmarkup}
-\matrix{%
-%* \begin{tabular}
- 1 & 2 & 3 & 4 \\
- 5 & & 6 & \\
-%* \end{tabular}
-}
- \end{cmhlistings}
-
- \item[\verbitem{verbatimEnvironments}] A field that contains a list of environments
- that you would like left completely alone--no indentation will be done
- to environments that you have specified in this field--see \cref{lst:verbatimEnvironments}.
-
-
- \begin{cmhlistings}[style=yaml]{\lstinline!verbatimEnvironments!}{lst:verbatimEnvironments}
-verbatimEnvironments:
- verbatim: 1
- lstlisting: 1
- \end{cmhlistings}
- Note that if you put an environment in \lstinline!verbatimEnvironments!
- and in other fields such as \lstinline!lookForAlignDelims! or \lstinline!noAdditionalIndent!
- then \lstinline!latexindent.pl! will \emph{always} prioritize \lstinline!verbatimEnvironments!.
-
- \item[\verbitem{noIndentBlock}] If you have a block of code that you don't
- want \lstinline!latexindent.pl! to touch (even if it is \emph{not} a verbatim-like
- environment) then you can wrap it in an environment from \lstinline!noIndentBlock!;
- you can use any name you like for this, provided you populate it as demonstrate in
- \cref{lst:noIndentBlock}.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!noIndentBlock!}{lst:noIndentBlock}
-noIndentBlock:
- noindent: 1
- cmhtest: 1
- \end{cmhlistings}
-
- Of course, you don't want to have to specify these as null environments
- in your code, so you use them with a comment symbol, \lstinline!%!, followed
- by as many spaces (possibly none) as you like; see \cref{lst:noIndentBlockdemo} for
- example.
- \begin{cmhlistings}[style=demo,escapeinside={(*@}{@*)}]{\lstinline!noIndentBlock! demonstration}{lst:noIndentBlockdemo}
-%(*@@*) \begin{noindent}
- this code
- won't
- be touched
- by
- latexindent.pl!
-%(*@@*)\end{noindent}
- \end{cmhlistings}
-
- \item[\verbitem{noAdditionalIndent}] If you would prefer some of your
- environments or commands not to receive any additional indent, then
- populate \lstinline!noAdditionalIndent!; see \cref{lst:noAdditionalIndent}.
- Note that these environments will still receive the \emph{current} level
- of indentation unless they belong to \lstinline!verbatimEnvironments!, or \lstinline!noIndentBlock!.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!noAdditionalIndent!}{lst:noAdditionalIndent}
-noAdditionalIndent:
- document: 1
- myexample: 1
- mydefinition: 1
- problem: 1
- exercises: 1
- mysolution: 1
- foreach: 0
- widepage: 1
- comment: 1
- \[: 1
- \]: 1
- frame: 0
- \end{cmhlistings}
- Note in particular from \cref{lst:noAdditionalIndent} that if you wish content within
- \lstinline!\[! and \lstinline!\]! to receive no additional indentation then
- you have to specify \emph{both} as \lstinline!1! (the default is \lstinline!0!).
- If you do not specify both as the same value you may get some interesting results!
- \item[\verbitem{indentRules}] If\label{page:indentRules} you would prefer to specify
- individual rules for certain environments or commands, just
- populate \lstinline!indentRules!; see \cref{lst:indentRules}
-
- \begin{cmhlistings}[style=yaml]{\lstinline!indentRules!}{lst:indentRules}
-indentRules:
- myenvironment: "\t\t"
- anotherenvironment: "\t\t\t\t"
- \[: "\t"
- \end{cmhlistings} %%%%%\] just here to stop vim from colouring the rest of my code
- Note that in contrast to \lstinline!noAdditionalIndent! you do \emph{not}
- need to specify both \lstinline!\[! and \lstinline!\]! in this field.
-
- If you put an environment in both \lstinline!noAdditionalIndent! and in
- \lstinline!indentRules! then \lstinline!latexindent.pl! will resolve the conflict
- by ignoring \lstinline!indentRules! and prioritizing \lstinline!noAdditionalIndent!.
- You will get a warning message in \lstinline!indent.log!; note that you will only
- get one warning message per command or environment. Further discussion
- is given in \cref{sec:fieldhierachy}.
-
- \item[\verbitem{indentAfterHeadings}] This field enables the user to specify
- indentation rules that take effect after heading commands such as \lstinline!\part!, \lstinline!\chapter!,
- \lstinline!\section!, \lstinline!\subsection*! etc. This field is slightly different from most
- of the fields that we have considered previously, because each element is
- itself a field which has two elements: \lstinline!indent! and \lstinline!level!. (Similar
- in structure to the advanced form of \lstinline!lookForAlignDelims! in \cref{lst:aligndelims:advanced}.)
- \begin{cmhlistings}[style=yaml]{\lstinline!indentAfterHeadings!}{lst:indentAfterHeadings}
-indentAfterHeadings:
- part:
- indent: 0
- level: 1
- chapter:
- indent: 0
- level: 2
- section:
- indent: 0
- level: 3
- ...
- \end{cmhlistings}
- The default settings do \emph{not} place indentation after a heading--you
- can easily switch them on by changing \lstinline!indent: 0! to \lstinline!indent: 1!.
- The \lstinline!level! field tells \lstinline!latexindent.pl! the hierarchy of the heading
- structure in your document. You might, for example, like to have both \lstinline!section!
- and \lstinline!subsection! set with \lstinline!level: 3! because you do not want the indentation to go too deep.
-
- You can add any of your own custom heading commands to this field, specifying the \lstinline!level!
- as appropriate. You can also specify your own indentation in \lstinline!indentRules!--
- you will find the default \lstinline!indentRules! contains \lstinline!chapter: " "! which
- tells \lstinline!latexindent.pl! simply to use a space character after \lstinline!\chapter! headings
- (once \lstinline!indent! is set to \lstinline!1! for \lstinline!chapter!).
-
- \item[\verbitem{indentAfterItems}] The environments specified in \lstinline!indentAfterItems! tell
- \lstinline!latexindent.pl! to look for \lstinline!\item! commands; if these switches are set to \lstinline!1!
- then indentation will be performed so as indent the code after each \lstinline!item!.
- \begin{cmhlistings}{\lstinline!indentAfterItems!}{lst:indentafteritems}
-indentAfterItems:
- itemize: 1
- enumerate: 1
- \end{cmhlistings}
- A demonstration is given in \cref{lst:itemsbefore,lst:itemsafter}
-
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,xleftmargin=-3mm,columns=fixed]{\lstinline!items! before}{lst:itemsbefore}
-\begin{itemize}
-\item some text here
-some more text here
-some more text here
-\item another item
-\end{itemize}
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,xleftmargin=-3mm,columns=fixed]{\lstinline!items! after}{lst:itemsafter}
-\begin{itemize}
- \item some text here
- some more text here
- some more text here
- \item another item
-\end{itemize}
- \end{cmhlistings}
- \end{minipage}
-
- \item[\verbitem{itemNames}] If you have your own \lstinline!item! commands (perhaps you
- prefer to use \lstinline!myitem!, for example)
- then you can put populate them in \lstinline!itemNames!.
- For example, users of the \lstinline!exam! document class might like to add
- \lstinline!parts! to \lstinline!indentAfterItems! and \lstinline!part! to \lstinline!itemNames!
- to their user settings--see \vref{sec:indentconfig} for details of how to configure user settings,
- and \vref{lst:mysettings} in particular.\label{page:examsettings}
-
- \item[\verbitem{constructIfElseFi}] The commands specified in this field
- will tell \lstinline!latexindent.pl! to look for constructs that
- have the form \lstinline!\if...! \lstinline!\else...! \lstinline!\fi!, such as,
- for example, \lstinline!\ifnum!; see \cref{lst:iffibefore,lst:iffiafter} for
- a before-and-after demonstration.
-
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,xleftmargin=-3mm,columns=fixed]{\lstinline!if-else-fi! construct before}{lst:iffibefore}
-\ifnum\radius>5
-\ifnum\radius<16
-\draw[decorate,...
-\fi
-\fi
- \end{cmhlistings}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \begin{cmhlistings}[style=demo,xleftmargin=-3mm,columns=fixed]{\lstinline!if-else-fi! construct after}{lst:iffiafter}
-\ifnum\radius>5
- \ifnum\radius<16
- \draw[decorate,...
- \fi
-\fi
- \end{cmhlistings}
- \end{minipage}
-
- \item[\verbitem{fileExtensionPreference}] \lstinline!latexindent.pl! can be called to
- act on a file without
- specifying the file extension. For example we can call \lstinline!latexindent.pl myfile!
- in which case the script will look for \lstinline!myfile! with the extensions
- specified in \lstinline!fileExtensionPreference! in their numeric order. If
- no match is found, the script will exit. As with all of the fields, you should
- change and/or add to this as necessary.
- \begin{cmhlistings}[style=yaml]{\lstinline!fileExtensionPreference!}{lst:fileExtensionPreference}
-fileExtensionPreference:
- .tex: 1
- .sty: 2
- .cls: 3
- .bib: 4
- \end{cmhlistings}
- Calling \lstinline!latexindent.pl myfile! with the details specified in \cref{lst:fileExtensionPreference}
- means that the script will first look for \lstinline!myfile.tex!, then \lstinline!myfile.sty!, \lstinline!myfile.cls!,
- and finally \lstinline!myfile.bib! in order.
-\item[\verbitem{logFilePreferences}]
- \lstinline!latexindent.pl! writes information to \lstinline!indent.log!, some
- of which can be customised by changing \lstinline!logFilePreferences!; see \cref{lst:logFilePreferences}.
-\begin{cmhlistings}[style=yaml]{\lstinline!logFilePreferences!}{lst:logFilePreferences}
-logFilePreferences:
- showEveryYamlRead: 1
- showAlmagamatedSettings: 0
- endLogFileWith: '--------------'
- traceModeIncreaseIndent: '>>'
- traceModeAddCurrentIndent: '||'
- traceModeDecreaseIndent: '<<'
- traceModeBetweenLines: "\n"
- \end{cmhlistings}
-If you load your own user settings (see \vref{sec:indentconfig}) then \lstinline!latexindent.pl! will
-detail them in \lstinline!indent.log!; you can choose not to have the details logged by switching
-\lstinline!showEveryYamlRead! to \lstinline!0!. Once all of your settings have
-been loaded, you can see the amalgamated settings by switching \lstinline!showAlmagamatedSettings!
-to \lstinline!1!, if you wish. The log file will end with the characters
-given in \lstinline!endLogFileWith!.
-
-When \lstinline!trace! mode is active (see \cpageref{page:traceswitch}) verbose information is written
-to \lstinline!indent.log!. The decoration of this information can be customised through the remaining
-fields given in \cref{lst:logFilePreferences}; note, in particular, the use of \lstinline!"\n"! for
-escaped characters (using single quotes will not produce the same results).
-
-\item[\verbitem{fileContentsEnvironments}]
- \lstinline!latexindent.pl! determines when the main document begins by looking for \lstinline!\begin{document}!;
- it will not do so when inside any of the environments specified in \lstinline!fileContentsEnvironments!, see
- \cref{lst:fileContentsEnvironments}.
-\begin{cmhlistings}[style=yaml]{\lstinline!fileContentsEnvironments!}{lst:fileContentsEnvironments}
-fileContentsEnvironments:
- filecontents: 1
- filecontents*: 1
- \end{cmhlistings}
-
- \begin{warning}
- \emph{The following fields are marked in red, as they are not necessary
- unless you wish to micro-manage your indentation scheme.
- Note that in each case, you should \emph{not} use the backslash.}
- \end{warning}
-
- % to anyone reading the source code- I know the next line isn't the
- % correct way to do it :)
- \item[\color{red}\verbitem{checkunmatched}] Assuming you keep \lstinline!alwaysLookforSplitBraces! set to \lstinline!1! (which
- is the default) then you don't need to worry about \lstinline!checkunmatched!.
-
- Should you wish to deactivate \lstinline!alwaysLookforSplitBraces! by setting it to \lstinline!0!, then
- you can populate \lstinline!checkunmatched! with commands that can split braces across
- lines--see \cref{lst:checkunmatched}.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!checkunmatched!}{lst:checkunmatched}
-checkunmatched:
- parbox: 1
- vbox: 1
- \end{cmhlistings}
- \item[\color{red}\verbitem{checkunmatchedELSE}] Similarly, assuming you keep \lstinline!alwaysLookforSplitBraces! set to \lstinline!1! (which
- is the default) then you don't need to worry about \lstinline!checkunmatchedELSE!.
-
- As in \lstinline!checkunmatched!, should you wish to deactivate \lstinline!alwaysLookforSplitBraces! by setting it to \lstinline!0!, then
- you can populate \lstinline!checkunmatchedELSE! with commands that can split braces across
- lines \emph{and} have an `else' statement--see \cref{lst:checkunmatchedELSE}.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!checkunmatchedELSE!}{lst:checkunmatchedELSE}
-checkunmatchedELSE:
- pgfkeysifdefined: 1
- DTLforeach: 1
- ifthenelse: 1
- \end{cmhlistings}
- \item[\color{red}\verbitem{checkunmatchedbracket}] Assuming you keep \lstinline!alwaysLookforSplitBrackets!
- set to \lstinline!1! (which is the default) then you don't need to worry about \lstinline!checkunmatchedbracket!.
-
- Should you wish to deactivate \lstinline!alwaysLookforSplitBrackets! by setting it
- to \lstinline!0!, then you can populate \lstinline!checkunmatchedbracket! with commands that can
- split \emph{brackets} across lines--see \cref{lst:checkunmatchedbracket}.
-
- \begin{cmhlistings}[style=yaml]{\lstinline!checkunmatchedbracket!}{lst:checkunmatchedbracket}
-checkunmatchedbracket:
- psSolid: 1
- pgfplotstablecreatecol: 1
- pgfplotstablesave: 1
- pgfplotstabletypeset: 1
- mycommand: 1
- \end{cmhlistings}
-\end{itemize}
-
-\subsubsection{Hierarchy of fields}\label{sec:fieldhierachy}
-After reading the previous section, it should sound reasonable that
-\lstinline!noAdditionalIndent!, \lstinline!indentRules!, and
-\lstinline!verbatim! all serve mutually exclusive tasks. Naturally, you may
-well wonder what happens if you choose to ask \lstinline!latexindent.pl! to
-prioritize one above the other.
-
-For example, let's say that (after reading \cref{sec:indentconfig}) you put the fields in \cref{lst:conflict} into
-one of your settings files.
-\begin{cmhlistings}[style=yaml]{Conflicting ideas}{lst:conflict}
-indentRules:
- myenvironment: "\t\t"
-noAdditionalIndent:
- myenvironment: 1
-\end{cmhlistings}
-
-Clearly these fields conflict: first of all
-you are telling \lstinline!latexindent.pl! that \lstinline!myenvironment! should
-receive two tabs of indentation, and then you are telling it
-not to put any indentation in the environment. \lstinline!latexindent.pl!
-will always make the decision to prioritize \lstinline!noAdditionalIndent! above
-\lstinline!indentRules! regardless of the order that you load them in
-your settings file. The first
-time it encounters \lstinline!myenvironment! it will put a warning in \lstinline!indent.log!
-and delete the offending key from \lstinline!indentRules! so that any future
-conflicts will not have to be addressed.
-
-Let's consider another conflicting example in \cref{lst:bigconflict}
-\begin{cmhlistings}[style=yaml]{More conflicting ideas}{lst:bigconflict}
-lookForAlignDelims:
- myenvironment: 1
-verbatimEnvironments:
- myenvironment: 1
-\end{cmhlistings}
-This is quite a significant conflict--we are first of all telling \lstinline!latexindent.pl!
-to look for alignment delimiters in \lstinline!myenvironment! and then
-telling it that actually we would like \lstinline!myenvironment! to be considered
-as a \lstinline!verbatim!-like environment. Regardless of the order that we
-state \cref{lst:bigconflict} the \lstinline!verbatim! instruction will always win.
-As in \cref{lst:conflict} you will only receive a warning in \lstinline!indent.log! the
-first time \lstinline!latexindent.pl! encounters \lstinline!myenvironment! as the
-offending key is deleted from \lstinline!lookForAlignDelims!.
-
-To summarize, \lstinline!latexindent.pl! will prioritize the various fields in the
-following order:
-\begin{enumerate}
- \item \lstinline!verbatimEnvironments!
- \item \lstinline!noAdditionalIndent!
- \item \lstinline!indentRules!
-\end{enumerate}
-\subsection{\lstinline!indentconfig.yaml! and \lstinline!.indentconfig.yaml! (for user settings)}\label{sec:indentconfig}
-Editing \lstinline!defaultSettings.yaml! is not ideal as it may be overwritten when
-updating your distribution--a better way to customize the settings to your liking
-is to set up your own settings file,
-\lstinline!mysettings.yaml! (or any name you like, provided it ends with \lstinline!.yaml!).
-The only thing you have to do is tell \lstinline!latexindent.pl! where to find it.
-
-\lstinline!latexindent.pl! will always check your home directory for \lstinline!indentconfig.yaml!
-and \lstinline!.indentconfig.yaml! (unless
-it is called with the \lstinline!-d! switch),
-which is a plain text file you can create that contains the \emph{absolute}
-paths for any settings files that you wish \lstinline!latexindent.pl! to load. There is no difference
-between \lstinline!indentconfig.yaml! and \lstinline!.indentconfig.yaml!, other than the
-fact that \lstinline!.indentconfig.yaml! is a `hidden' file; thank you to \cite{jacobo-diaz-hidden-config}
-for providing this feature. In what follows, we will use \lstinline!indentconfig.yaml!, but it
-is understood that this equally represents \lstinline!.indentconfig.yaml! as well. If you
-have both files in existence, \lstinline!indentconfig.yaml! takes priority.
-
-For Mac and Linux users, their home directory is \lstinline!~/username! while
-Windows (Vista onwards) is \lstinline!C:\Users\username! \footnote{If you're not sure
- where to put \lstinline!indentconfig.yaml!, don't
- worry \lstinline!latexindent.pl! will tell you in the log file exactly where to
-put it assuming it doesn't exist already.}
-\Cref{lst:indentconfig} shows a sample \lstinline!indentconfig.yaml! file.
-
-\begin{cmhlistings}[style=yaml]{\lstinline!indentconfig.yaml! (sample)}{lst:indentconfig}
-# Paths to user settings for latexindent.pl
-#
-# Note that the settings will be read in the order you
-# specify here- each successive settings file will overwrite
-# the variables that you specify
-
-paths:
-- /home/cmhughes/Documents/yamlfiles/mysettings.yaml
-- /home/cmhughes/folder/othersettings.yaml
-- /some/other/folder/anynameyouwant.yaml
-- C:\Users\chughes\Documents\mysettings.yaml
-- C:\Users\chughes\Desktop\test spaces\more spaces.yaml
-\end{cmhlistings}
-
-Note that the \lstinline!.yaml! files you specify in \lstinline!indentconfig.yaml!
-will be loaded in the order that you write them in. Each file doesn't have
-to have every switch from \lstinline!defaultSettings.yaml!; in fact, I recommend
-that you only keep the switches that you want to \emph{change} in these
-settings files.
-
-To get started with your own settings file, you might like to save a copy of
-\lstinline!defaultSettings.yaml! in another directory and call it, for
-example, \lstinline!mysettings.yaml!. Once you have added the path to \lstinline!indentconfig.yaml!
-feel free to start changing the switches and adding more environments to it
-as you see fit--have a look at \cref{lst:mysettings} for an example
-that uses four tabs for the default indent, adds the \lstinline!tabbing!
-environment to the list of environments that contains alignment delimiters,
-and adds the changes we described on \cpageref{page:examsettings}.
-
-\begin{cmhlistings}[style=yaml]{\lstinline!mysettings.yaml! (example)}{lst:mysettings}
-# Default value of indentation
-defaultIndent: "\t\t\t\t"
-
-# environments that have tab delimiters, add more
-# as needed
-lookForAlignDelims:
- tabbing: 1
-
-# If you use the exam documentclass, you might
-# like the following settings
-# environments that have \item commands
-indentAfterItems:
- parts: 1
-
-# commands to be treated like \item
-itemNames:
- part: 1
-\end{cmhlistings}
-
-You can make sure that your settings are loaded by checking \lstinline!indent.log!
-for details--if you have specified a path that \lstinline!latexindent.pl! doesn't
-recognize then you'll get a warning, otherwise you'll get confirmation that
-\lstinline!latexindent.pl! has read your settings file \footnote{Windows users
- may find that they have to end \lstinline!.yaml! files with a blank line}.
-
-\begin{warning}
- When editing \lstinline!.yaml! files it is \emph{extremely} important
- to remember how sensitive they are to spaces. I highly recommend copying
- and pasting from \lstinline!defaultSettings.yaml! when you create your
- first \lstinline!whatevernameyoulike.yaml! file.
-
- If \lstinline!latexindent.pl! can not read your \lstinline!.yaml! file it
- will tell you so in \lstinline!indent.log!.
-\end{warning}
-
-\subsection{\lstinline!localSettings.yaml!}\label{sec:localsettings}
-You may remember on \cpageref{page:localswitch} we discussed the \lstinline!-l! switch
-that tells \lstinline!latexindent.pl! to look for \lstinline!localSettings.yaml! in the
-\emph{same directory} as \lstinline!myfile.tex!. This settings file will
-be read \emph{after} \lstinline!defaultSettings.yaml! and, assuming they exist,
-user settings.
-
-The \emph{local} settings file may be called \lstinline!localSettings.yaml!, and
-it can contain any switches that you'd
-like to change--a sample is shown in \cref{lst:localSettings}.
-
-\begin{cmhlistings}[style=yaml]{\lstinline!localSettings.yaml! (example)}{lst:localSettings}
-# Default value of indentation
-defaultIndent: " "
-
-# environments that have tab delimiters, add more
-# as needed
-lookForAlignDelims:
- tabbing: 0
-
-# verbatim environments- environments specified
-# in this hash table will not be changed at all!
-verbatimEnvironments:
- cmhenvironment: 0
-\end{cmhlistings}
-
-You can make sure that your local settings are loaded by checking \lstinline!indent.log!
-for details--if \lstinline!localSettings.yaml! can not be read then you will
-get a warning, otherwise you'll get confirmation that
-\lstinline!latexindent.pl! has read \lstinline!localSettings.yaml!.
-
-If you'd prefer to name your \lstinline!localSettings.yaml! file something different, (say, \lstinline!myyaml.yaml!) then
-you can call \lstinline!latexindent.pl! using, for example, \lstinline[breaklines=true]!latexindent.pl -l=myyaml.yaml myfile.tex!.
-
-\subsection{Settings load order}\label{sec:loadorder}
-\lstinline!latexindent.pl! loads the settings files in the following order:
-\begin{enumerate}
- \item \lstinline!defaultSettings.yaml! is always loaded, and can not be renamed;
- \item \lstinline!anyUserSettings.yaml! and any other arbitrarily-named files specified in \lstinline!indentconfig.yaml!;
- \item \lstinline!localSettings.yaml! but only if found in the same directory as \lstinline!myfile.tex! and called
- with \lstinline!-l! switch; this file can be renamed, provided that the call to \lstinline!latexindent.pl! is adjusted
- accordingly (see \cref{sec:localsettings}).
-\end{enumerate}
-A visual representation of this is given in \cref{fig:loadorder}.
-
-\begin{figure}
- \centering
- \begin{tikzpicture}[
- needed/.style={very thick, draw=blue,fill=blue!20,
- text centered, minimum height=2.5em,rounded corners=1ex},
- optional/.style={draw=black, very thick,scale=0.8,
- text centered, minimum height=2.5em,rounded corners=1ex},
- optionalfill/.style={fill=black!10},
- connections/.style={draw=black!30,dotted,line width=3pt,text=red},
- ]
- % Draw diagram elements
- \node (latexindent) [needed,circle] {\lstinline!latexindent.pl!};
- \node (default) [needed,above right=.5cm of latexindent] {\lstinline!defaultSettings.yaml!};
- \node (indentconfig) [optional,right=of latexindent] {\lstinline!indentconfig.yaml!};
- \node (any) [optional,optionalfill,above right=of indentconfig] {\lstinline!any.yaml!};
- \node (name) [optional,optionalfill,right=of indentconfig] {\lstinline!name.yaml!};
- \node (you) [optional,optionalfill,below right=of indentconfig] {\lstinline!you.yaml!};
- \node (want) [optional,optionalfill,below=of indentconfig] {\lstinline!want.yaml!};
- \node (local) [optional,below=of latexindent] {\lstinline!localSettings.yaml!};
- % Draw arrows between elements
- \draw[connections,solid] (latexindent) to[in=-90]node[pos=0.5,anchor=north]{1} (default.south) ;
- \draw[connections,optional] (latexindent) -- node[pos=0.5,anchor=north]{2} (indentconfig) ;
- \draw[connections,optional] (indentconfig) to[in=-90] (any.south) ;
- \draw[connections,optional] (indentconfig) -- (name) ;
- \draw[connections,optional] (indentconfig) to[out=-45,in=90] (you) ;
- \draw[connections,optional] (indentconfig) -- (want) ;
- \draw[connections,optional] (latexindent) -- node[pos=0.5,anchor=west]{3} (local) ;
- \end{tikzpicture}
- \caption{Schematic of the load order described in \cref{sec:loadorder}; solid lines represent
- mandatory files, dotted lines represent optional files. \lstinline!indentconfig.yaml! can
- contain as many files as you like--the files will be loaded in order; if you specify
- settings for the same field in more than one file, the most recent takes priority. }
- \label{fig:loadorder}
-\end{figure}
-
-\subsection{An important example}
-I was working on a document that had the text shown in \cref{lst:casestudy}.
-\begin{cmhlistings}[style=demo,escapeinside={(*@}{@*)}]{When to set \lstinline!alwaysLookforSplitBrackets=0!}{lst:casestudy}
-Hence determine how many zeros the function $h(x)=f(x)-g(x)$
-has on the interval $[0,9)$.(*@\label{line:interval1}@*)
-\begin{shortsolution}
- The function $h$ has $10$ zeros on the interval $[0,9)$.(*@\label{line:interval2}@*)
-\end{shortsolution}
-\end{cmhlistings}
-I had allowed \lstinline!alwaysLookforSplitBrackets=1!, which is the default setting.
-Unfortunately, this caused undesired results, as \lstinline!latexindent.pl! thought that the opening
-\lstinline![! in the interval notation (\cref{line:interval1,line:interval2})
-was an opening brace that needed to be closed (with a corresponding \lstinline!]!). Clearly
-this was inappropriate, but also expected since \lstinline!latexindent.pl! was simply
-following its matching rules.
-
-In this particular instance, I set up \lstinline!localSettings.yaml!
-to contain \lstinline!alwaysLookforSplitBrackets: 0! and then specified the commands
-that could split brackets across lines (such as \lstinline!begin{axis}!) individually
-in \lstinline!checkunmatchedbracket!. Another option would have been to wrap the
-the line in an environment from \lstinline!noIndentBlock! which treats its contents
-as a verbatim environment.
-
-
-\section{Known limitations}\label{sec:knownlimitations}
-There are a number of known limitations of the script, and almost certainly quite a
-few that are \emph{unknown}!
-
-The main limitation is to do with the alignment routine of environments that contain
-delimiters--in other words, environments that are entered in \lstinline!lookForAlignDelims!.
-Indeed, this is the only part of the script that can \emph{potentially} remove
-lines from \lstinline!myfile.tex!. Note that \lstinline!indent.log! will always
-finish with a comparison of line counts before and after.
-
-The routine works well for `standard' blocks of code that have the same number of \lstinline!&!
-per line, but it will not do anything for lines that do not--such examples
-include \lstinline!tabular! environments that use \lstinline!\multicolumn! or
-perhaps spread cell contents across multiple lines. For each alignment block (\lstinline!tabular!,
-\lstinline!align!, etc) \lstinline!latexindent.pl! first of all makes a record
-of the maximum number of \lstinline!&!; if each row does not have that
-number of \lstinline!&! then it will not try to format that row. Details
-will be given in \lstinline!indent.log! assuming that \lstinline!trace! mode
-is active.
-
-If you have a \lstinline!verbatim!-like environment inside a \lstinline!tabular!-like
-environment, the \lstinline!verbatim! environment \emph{will} be formatted, which
-is probably not what you want. I hope to address this in future versions, but for the
-moment wrap it in a \lstinline!noIndentBlock! (see \cpageref{lst:noIndentBlockdemo}).
-
-You can run \lstinline!latexindent! on \lstinline!.sty!, \lstinline!.cls! and any filetypes
-that you specify in \lstinline[breaklines=true]!fileExtensionPreference! (see \vref{lst:fileExtensionPreference});
-if you find a case in which the script struggles, please feel free
-to report it at \cite{latexindent-home}, and
-in the meantime, consider using a \lstinline!noIndentBlock! (see \cpageref{lst:noIndentBlockdemo}).
-
-I hope that this script is useful to some; if you find an example where the
-script does not behave as you think it should, the best way to contact me is to
-report an issue on \cite{latexindent-home}; otherwise, feel free to find me on
-the \url{http://tex.stackexchange.com} site; I'm often around
-and in the chat room.
-
-\nocite{*}
-\section{References}
-\printbibliography[heading=subbibnumbered,title={External links},notkeyword=contributor]
-\printbibliography[env=specialbib,heading=subbibnumbered,title={Contributors\label{sec:contributors}},keyword=contributor]
-
-\appendix
-\section{Required \lstinline!Perl! modules}\label{sec:requiredmodules}
-If you intend to use \lstinline!latexindent.pl! and \emph{not} one of the supplied standalone executable files, then you will need a few standard Perl modules--if you can run the
-minimum code in \cref{lst:helloworld} (\lstinline!perl helloworld.pl!) then you will be able to run \lstinline!latexindent.pl!, otherwise you may
-need to install the missing modules.
-
-\begin{cmhlistings}[language=Perl]{\lstinline!helloworld.pl!}{lst:helloworld}
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-use FindBin;
-use YAML::Tiny;
-use File::Copy;
-use File::Basename;
-use Getopt::Long;
-use File::HomeDir;
-
-print "hello world";
-exit;
-\end{cmhlistings}
-My default installation on Ubuntu 12.04 did \emph{not} come
-with all of these modules as standard, but Strawberry Perl for Windows \cite{strawberryperl}
-did.
-
-Installing the modules given in \cref{lst:helloworld} will vary depending on your
-operating system and \lstinline!Perl! distribution. For example, Ubuntu users
-might visit the software center, or else run
-\begin{lstlisting}[numbers=none]
-sudo perl -MCPAN -e 'install "File::HomeDir"'
-\end{lstlisting}
-
-Linux users may be interested in exploring Perlbrew \cite{perlbrew}; possible installation and setup
-options follow for Ubuntu (other distributions will need slightly different commands).
-\begin{lstlisting}[numbers=none]
-sudo apt-get install perlbrew
-perlbrew install perl-5.20.1
-perlbrew switch perl-5.20.1
-sudo apt-get install curl
-curl -L http://cpanmin.us | perl - App::cpanminus
-cpanm YAML::Tiny
-cpanm File::HomeDir
-\end{lstlisting}
-
-Strawberry Perl users on Windows might use
-\lstinline!CPAN client!. All of the modules are readily available on CPAN \cite{cpan}.
-
-As of Version 2.1, \lstinline!indent.log! will contain details of the location
-of the Perl modules on your system. \lstinline!latexindent.exe! is a standalone
-executable for Windows (and therefore does not require a Perl distribution) and caches copies of the Perl modules onto your system; if you
-wish to see where they are cached, use the \lstinline!trace! option, e.g \lstinline!latexindent.exe -t myfile.tex!.
-
-\section{The \lstinline!arara! rule}
-The \lstinline!arara! rule (\lstinline!indent.yaml!) contains lines such as those
-given in \cref{lst:arararule}. With this setup, the user \emph{always} has
-to specify whether or not they want (in this example) to use the \lstinline!trace!
-identifier.
-\begin{cmhlistings}[style=yaml,numbers=none]{The \lstinline!arara! rule}{lst:arararule}
-...
-arguments:
-- identifier: trace
- flag: <arara> @{ isTrue( parameters.trace, "-t" ) }
-...
-\end{cmhlistings}
-
-If you would like to have the \lstinline!trace! option on by default every time you
-call \lstinline!latexindent.pl! from \lstinline!arara! (without having to write \lstinline!% arara: indent: {trace: yes}!), then simply
-amend \cref{lst:arararule} so that it looks like \cref{lst:arararulemod}.
-\begin{cmhlistings}[style=yaml,numbers=none]{The \lstinline!arara! rule (modified)}{lst:arararulemod}
-...
-arguments:
-- identifier: trace
- flag: <arara> @{ isTrue( parameters.trace, "-t" ) }
- default: "-t"
-...
-\end{cmhlistings}
-
-With this modification in place, you now simply to write \lstinline!% arara: indent! and
-\lstinline!trace! mode will be activated by default. If you wish to turn off \lstinline!trace!
-mode then you can write \lstinline!% arara: indent: {trace: off}!.
-
-Of course, you can apply these types of modifications to \emph{any} of the identifiers,
-but proceed with caution if you intend to do this for \lstinline!overwrite!.
-
-\section{Updating the \lstinline!path! variable}\label{sec:updating-path}
-\lstinline!latexindent.pl! ships with a few scripts that can update the \lstinline!path! variables
-\footnote{Thanks to \cite{jasjuang} for this feature!}. If you're
-on a Linux or Mac machine, then you'll want \lstinline!CMakeLists.txt! from \cite{latexindent-home}.
-\subsection{Add to path for Linux}
-To add \lstinline!latexindent.pl! to the path for Linux, follow these steps:
-\begin{enumerate}
- \item download \lstinline!latexindent.pl!, \lstinline!defaultSettings.yaml!, to your
- chosen directory from \cite{latexindent-home} ;
- \item within your directory, create a directory called \lstinline!path-helper-files! and
- download \lstinline!CMakeLists.txt! and \lstinline!cmake_uninstall.cmake.in!
- from \cite{latexindent-home}/path-helper-files to this directory;
- \item run \lstinline!ls /usr/local/bin! to see what is \emph{currently} in there;
- \item run the commands given in \cref{linux-add-to-path};
- \item run \lstinline!ls /usr/local/bin! again to check that \lstinline!latexindent.pl! and \lstinline!defaultSettings.yaml!
- have been added.
-\end{enumerate}
-\begin{cmhlistings}[style=yaml,numbers=none]{Add to path from a Linux terminal}{linux-add-to-path}
-sudo apt-get install cmake
-sudo apt-get update && sudo apt-get install build-essential
-mkdir build && cd build
-cmake ../path-helper-files
-sudo make install
-\end{cmhlistings}
-To \emph{remove} the files, run \lstinline!sudo make uninstall!.
-\subsection{Add to path for Windows}
-To add \lstinline!latexindent.exe! to the path for Windows, follow these steps:
-\begin{enumerate}
- \item download \lstinline!latexindent.exe!, \lstinline!defaultSettings.yaml!, \lstinline!add-to-path.bat!
- from \cite{latexindent-home} to your chosen directory;
- \item open a command prompt and run \lstinline!echo %path%! to see what is \emph{currently} in your \lstinline!%path%! variable;
- \item right click on \lstinline!add-to-path.bat! and \emph{Run as administrator};
- \item log out, and log back in;
- \item open a command prompt and run \lstinline!echo %path%! to check that the appropriate directory has been added to your
- \lstinline!%path%!.
-\end{enumerate}
-To \emph{remove} the directory from your \lstinline!%path%!, run \lstinline!remove-from-path.bat! as administrator.
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/indent.yaml b/Master/texmf-dist/doc/support/latexindent/indent.yaml
deleted file mode 100644
index 0db81a066f2..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/indent.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-!config
-# indent rule for arara
-# author: Paulo Cereda, Chris Hughes
-# last updated: 11/9/2013
-# requires arara 3.0+
-#
-# Sample usage:
-#
-# % arara: indent
-# % arara: indent: {overwrite: yes}
-# % arara: indent: {output: myfile.tex, silent: no}
-# % arara: indent: {output: myfile.tex, silent: yes, overwrite: yes}
-# % arara: indent: {trace: true}
-# % arara: indent: {localSettings: true}
-# % arara: indent: {onlyDefault: on}
-# % arara: indent: { cruft: /home/cmhughes/Desktop }
-#
-# Directories with spaces will cause issues in the cruft call.
-#
-# Note: output will take priority above overwrite
-identifier: indent
-name: Indent
-command: <arara> @{ isWindows( "cmd /c latexindent.exe", "latexindent.pl" ) } @{silent} @{trace} @{localSettings} @{cruft}@{ isNotEmpty( cruft, '="'.concat(parameters.cruft).concat('"') ) } @{overwrite} @{onlyDefault} @{output} "@{file}" @{ isNotEmpty( output, '"'.concat(parameters.output).concat('"') ) }
-arguments:
-- identifier: overwrite
- flag: <arara> @{ isTrue( parameters.overwrite, "-w" ) }
-- identifier: silent
- flag: <arara> @{ isTrue( parameters.silent, "-s" ) }
-- identifier: trace
- flag: <arara> @{ isTrue( parameters.trace, "-t" ) }
-- identifier: localSettings
- flag: <arara> @{ isTrue( parameters.localSettings, "-l" ) }
-- identifier: output
- flag: <arara> @{ isNotEmpty( parameters.output, "-o" ) }
-- identifier: onlyDefault
- flag: <arara> @{ isTrue( parameters.onlyDefault, "-d" ) }
-- identifier: cruft
- flag: <arara> @{ isNotEmpty( parameters.cruft, "-c" ) }
diff --git a/Master/texmf-dist/doc/support/latexindent/latexindent.pdf b/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
new file mode 100644
index 00000000000..7c912e4b0fa
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latexindent/latexindent.tex b/Master/texmf-dist/doc/support/latexindent/latexindent.tex
new file mode 100644
index 00000000000..b31a22b7141
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/latexindent.tex
@@ -0,0 +1,467 @@
+% arara: pdflatex: {shell: yes}
+% arara: bibtex
+% arara: pdflatex: {shell: yes}
+% arara: pdflatex: {shell: yes}
+% arara: pdflatex: {shell: yes}
+% !arara: indent: {overwrite: yes, trace: yes, localSettings: yes, silent: yes}
+\documentclass[10pt]{article}
+% This program is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% See <http://www.gnu.org/licenses/>.
+\usepackage[left=4.5cm,right=2.5cm,showframe=false,
+ top=2cm,bottom=1.5cm]{geometry} % page setup
+\usepackage{lmodern}
+\usepackage{parskip} % paragraph skips
+\usepackage{booktabs} % beautiful tables
+\usepackage{listings} % nice verbatim environments
+\usepackage{titlesec} % customize headings
+\usepackage{titletoc} % customize headings
+\usepackage{multicol}
+\usepackage{changepage} % adjust width of page
+\usepackage{fancyhdr} % headers & footers
+\usepackage{wrapfig}
+\usepackage{fontawesome}
+\usepackage[sc,format=hang,font=small]{caption} % captions
+\usepackage[backend=bibtex]{biblatex} % bibliography
+\usepackage{tcolorbox} % framed environments
+\usepackage{xparse}
+\usepackage[charter]{mathdesign} % changes font
+\usepackage[expansion=false,kerning=true]{microtype} % better kerning
+\usepackage{enumitem} % custom lists
+\usepackage{longtable}
+\usepackage{array}
+% setup gitinfo2, as in the manual, details just above begin{document}
+\usepackage[mark,grumpy]{gitinfo2}
+% tcolorbox libraries
+\tcbuselibrary{breakable,skins,listings,minted,xparse}
+%\usepackage{varioref} % clever referencing
+%\tcbuselibrary{documentation,breakable,skins,minted}
+% tikz libraries
+\usetikzlibrary{positioning}
+\usetikzlibrary{decorations.pathmorphing}
+\usetikzlibrary{decorations,shapes}
+\usepackage{varioref} % clever referencing
+\usepackage{hyperref}
+\hypersetup{
+ pdfauthor={Chris Hughes},
+ pdftitle={latexindent.pl package},
+ pdfkeywords={perl;beautify;indentation},
+ bookmarksnumbered,
+ bookmarksopen,
+ linktocpage,
+ colorlinks=true,
+ linkcolor=blue,
+ citecolor=black,
+}
+\usepackage{cleveref}
+
+\addbibresource{latex-indent}
+\addbibresource{contributors}
+
+% http://tex.stackexchange.com/questions/122135/how-to-add-a-png-icon-on-the-right-side-of-a-tcolorbox-title
+\newtcolorbox{warning}{parbox=false,breakable,enhanced,arc=0mm,colback=red!5,colframe=red,leftrule=12mm,%
+ overlay={\node[anchor=north west,outer sep=2pt] at (frame.north west) {\includegraphics[width=8mm]{warning}}; }
+}
+
+\definecolor{harvestgold}{cmyk}{0.00, 0.05, 0.51, 0.07} %EDE275
+\definecolor{cmhgold}{cmyk}{0,0.178,0.909,0.008} %FDD017
+\makeatletter
+\tcbset{
+ addtolol/.style={list entry={\kvtcb@title},add to list={lol}{lstlisting}},
+ cmhlistings/.style={
+ % width=\linewidth,
+ %breakable,
+ colback=blue!5!white,
+ colframe=white!25!black,colback=white,
+ top=0cm,
+ bottom=0cm,
+ left=0mm,
+ listing only,
+ center title,
+ listing engine=minted,
+ minted style=colorful,
+ minted options={obeytabs=true,showtabs=true,tabsize=4,showspaces=true},
+ addtolol,
+ boxrule=0pt,
+ toprule=1pt,bottomrule=1pt,
+ titlerule=1pt,
+ colframe=white!40!black,
+ colback=white,
+ sharp corners,
+ colbacktitle=white!75!black
+ },
+ yaml-TCB/.style={
+ listing only,
+ listing engine=listings,
+ left=0cm,
+ boxrule=0pt,
+ %leftrule=3pt,
+ sharp corners,
+ center title,
+ %colbacktitle=white!75!black,
+ colbacktitle=white!75!blue,
+ colframe=white!25!blue,
+ colback=white!90!blue,
+ toprule=2pt,
+ titlerule=2pt,
+ %bottomrule=1pt,
+ },
+ MLB-TCB/.style={
+ yaml-TCB,
+ center title,
+ colframe=cmhgold,
+ colbacktitle=harvestgold,
+ colback=white!60!cmhgold,
+ width=0.9\linewidth,
+ before=\centering,
+ %bottomrule=1pt,
+ enhanced,
+ overlay={\node[anchor=north east,outer sep=2pt,draw=cmhgold,very thick,double,fill=harvestgold,font =\small] at ([yshift=-3mm]frame.north east) {\texttt{-m}}; }
+ }
+}
+
+\newtcblisting[use counter=lstlisting]{cmhlistings}[3][]{%
+ cmhlistings,
+ center title,
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#2},label={#3},
+ listing engine=listings,
+ listing options={#1},
+}
+
+\DeclareTCBInputListing[use counter=lstlisting]{\cmhlistingsfromfile}{O{} m O{} m m}{%
+ cmhlistings,
+ listing file={#2},
+ listing options={#1},
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#4},label={#5},
+ #3,
+}
+
+% command shell
+\newtcblisting{commandshell}{colback=black,colupper=white,colframe=yellow!75!black,
+ listing only,listing options={style=tcblatex,language=sh,
+ morekeywords={latexindent,pl},
+ keywordstyle=\color{blue!35!white}\bfseries,
+ },
+ listing engine=listings,
+ left=0cm,
+ every listing line={\textcolor{red}{\small\ttfamily\fontseries{b}\selectfont cmh:$\sim$\$ }}}
+
+% dosprompt
+\newtcblisting{dosprompt}{
+ colback=black,
+ colupper=white,
+ colframe=yellow!75!black,
+ listing only,
+ listing options={
+ language=command.com,
+ morekeywords={latexindent,pl},
+ keywordstyle=\color{blue!35!white}\bfseries,
+ basicstyle=\small\color{white}\ttfamily
+ },
+ listing engine=listings,
+ left=0cm,
+ every listing line={\textcolor{white}{\small\ttfamily\fontseries{b}\selectfont C:\textbackslash Users\textbackslash cmh$>$}}}
+
+\lstset{%
+ basicstyle=\small\ttfamily,language={[LaTeX]TeX},
+ % numbers=left,
+ numberstyle=\ttfamily%\small,
+ breaklines=true,
+ % frame=single,framexleftmargin=8mm, xleftmargin=8mm,
+ % prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookrightarrow}},
+ % backgroundcolor=\color{green!5},frameround=fttt,
+ % rulecolor=\color{blue!70!black},
+ keywordstyle=\color{blue}, % keywords
+ commentstyle=\color{purple}, % comments
+ tabsize=3,
+ %xleftmargin=1.5em,
+}%
+\DeclareTCBListing[use counter=lstlisting]{yaml}{O{} m O{} m}{
+ yaml-TCB,
+ listing options={
+ style=tcblatex,
+ numbers=none,
+ numberstyle=\color{red},
+ #1,
+ },
+ title={\color{black}{\scshape Listing \thetcbcounter}: ~#2},label={#4},
+ #3,
+}
+
+\lstdefinestyle{yaml-LST}{
+ style=tcblatex,
+ numbers=none,
+ %numbers=left,
+ numberstyle=\color{red},
+}
+
+\lstdefinestyle{demo}{
+ numbers=none,
+ linewidth=1.25\textwidth,
+ columns=fullflexible,
+}
+
+% stars around contributors
+\pgfdeclaredecoration{stars}{initial}{
+ \state{initial}[width=15pt]
+ {
+ \pgfmathparse{round(rnd*100)}
+ \pgfsetfillcolor{yellow!\pgfmathresult!orange}
+ \pgfsetstrokecolor{yellow!\pgfmathresult!red}
+ \pgfnode{star}{center}{}{}{\pgfusepath{stroke,fill}}
+ }
+ \state{final}
+ {
+ \pgfpathmoveto{\pgfpointdecoratedpathlast}
+ }
+}
+
+\newtcolorbox{stars}{%
+ enhanced jigsaw,
+ breakable, % allow page breaks
+ left=0cm,
+ top=0cm,
+ before skip=0.2cm,
+ boxsep=0cm,
+ frame style={draw=none,fill=none}, % hide the default frame
+ colback=white,
+ overlay={
+ \draw[inner sep=0,minimum size=rnd*15pt+2pt]
+ decorate[decoration={stars,segment length=2cm}] {
+ decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
+ ([xshift=-.5cm,yshift=0.1cm]frame.south west) -- ([xshift=-.5cm,yshift=0.4cm]frame.north west)
+ }};
+ \draw[inner sep=0,minimum size=rnd*15pt+2pt]
+ decorate[decoration={stars,segment length=2cm}] {
+ decorate[decoration={zigzag,segment length=2cm,amplitude=0.3cm}] {
+ ([xshift=.75cm,yshift=0.1cm]frame.south east) -- ([xshift=.75cm,yshift=0.6cm]frame.north east)
+ }};
+ \node[anchor=north west,outer sep=2pt,opacity=0.25] at ([xshift=-4.25cm]frame.north west) {\resizebox{3cm}{!}{\faGithub}};
+ },
+ % paragraph skips obeyed within tcolorbox
+ parbox=false,
+}
+
+% copied from /usr/local/texlive/2013/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx
+% the only modification is the \stars and \endstars
+\defbibenvironment{specialbib}
+{\stars\list
+ {\printtext[labelnumberwidth]{%
+ \printfield{prefixnumber}%
+ \printfield{labelnumber}}}
+ {\setlength{\labelwidth}{\labelnumberwidth}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{\biblabelsep}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}%
+ \renewcommand*{\makelabel}[1]{\hss##1}}
+{\endlist\endstars}
+{\item}
+
+\newtcbox{yamltitlebox}[1][]{colframe=black!50!white,boxrule=.5pt,sharp corners,#1}
+
+\newcommand{\flagbox}[1]{%
+ \par
+ \makebox[30pt][l]{%
+ \hspace{-2cm}%
+ \ttfamily\fontseries{b}\selectfont #1
+ }%
+}
+
+\NewDocumentCommand{\yamltitle}{O{} m s m}{%
+ \par
+ \makebox[30pt][l]{%
+ \hspace{-2cm}%
+ \yamltitlebox[#1]{%
+ {\ttfamily\fontseries{b}\selectfont{\color{blue!80!white}#2}}: %
+ \IfBooleanTF{#3}
+ {$\langle$\itshape #4$\rangle$}
+ {{\bfseries #4}}
+ }}
+ \par\nobreak%
+}
+
+\newcommand{\fixthis}[1]
+{%
+ \marginpar{\huge \color{red} \framebox{FIX}}%
+ \typeout{FIXTHIS: p\thepage : #1^^J}%
+}
+% custom section
+\titleformat{\section}
+{\normalfont\Large\bfseries}
+{\llap{\thesection\hskip.5cm}}
+{0pt}
+{}
+% custom subsection
+\titleformat{\subsection}
+{\normalfont\bfseries}
+{\llap{\thesubsection\hskip.5cm}}
+{0pt}
+{}
+% custom subsubsection
+\titleformat{\subsubsection}
+{\normalfont\bfseries}
+{\llap{\thesubsubsection\hskip.5cm}}
+{0pt}
+{}
+
+\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{-5pt plus 2pt minus 2pt}
+\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{-6pt plus 2pt minus 2pt}
+\titlespacing\subsubsection{0pt}{12pt plus 4pt minus 2pt}{-6pt plus 2pt minus 2pt}
+
+% list of listings
+\contentsuse{lstlisting}{lol}
+\titlecontents{lstlisting}[2em]
+ {\addvspace{0.25pc}}
+ {\textbf{Code \thecontentslabel} }
+ {}
+ {\titlerule*[0.5em]{$\cdot$}\contentspage}
+ []
+\AtBeginDocument{\addtocontents{lol}{\protect\begin{widepage}\protect\begin{multicols}{2}}}
+\AtEndDocument{\addtocontents{lol}{\protect\end{multicols}\protect\end{widepage}}}
+
+% cleveref settings
+\crefname{table}{Table}{Tables}
+\Crefname{table}{Table}{Tables}
+\crefname{figure}{Figure}{Figures}
+\Crefname{figure}{Figure}{Figures}
+\crefname{section}{Section}{Sections}
+\Crefname{section}{Section}{Sections}
+\crefname{listing}{Listing}{Listings}
+\Crefname{listing}{Listing}{Listings}
+
+% headers and footers
+\fancyhf{} % delete current header and footer
+\fancyhead[R]{\bfseries\thepage%
+ \tikz[remember picture,overlay] {
+ \node at (1,0){\includegraphics{logo-bw}}; }
+}
+\fancyhead[L]{\rightmark}
+\fancyheadoffset[L]{3cm}
+\pagestyle{fancy}
+
+% renew plain style
+\fancypagestyle{plain}{%
+ \fancyhf{} % clear all header and footer fields
+ \renewcommand{\headrulewidth}{0pt}
+ \renewcommand{\footrulewidth}{0pt}}
+
+% widepage environment
+\newenvironment{widepage}{\begin{adjustwidth}{-3cm}{0cm}}{\end{adjustwidth}}
+
+% symbols for the m switch
+\newcommand{\BeginStartsOnOwnLine}{\color{red}\spadesuit}
+\newcommand{\BodyStartsOnOwnLine}{\color{red}\heartsuit}
+\newcommand{\EndStartsOnOwnLine}{\color{red}\diamondsuit}
+\newcommand{\EndFinishesWithLineBreak}{\color{red}\clubsuit}
+\newcommand{\ElseStartsOnOwnLine}{\color{red}\bigstar}
+\newcommand{\ElseFinishesWithLineBreak}{\color{red}\square}
+\newcommand{\EqualsStartsOnOwnLine}{\color{red}\bullet}
+
+% table rules
+\setlength\heavyrulewidth{0.25ex}
+% gitinfo2 settings
+\renewcommand{\gitMark}{\gitBranch\,@\,\gitAbbrevHash{}\,\textbullet{}\,\gitAuthorDate\,\textbullet{}\faGithub}
+
+% setting up gitinfo2:
+% copy the file post-xxx-sample.txt from http://mirror.ctan.org/macros/latex/contrib/gitinfo2
+% and put it in .git/hooks/post-checkout
+% then
+% cd .git/hooks
+% chmod g+x post-checkout
+% chmod +x post-checkout
+% cp post-checkout post-commit
+% cp post-checkout post-merge
+% cd ../..
+% git checkout master
+% git checkout develop
+% ls .git
+% and you should see gitHeadInfo.gin
+
+% http://tex.stackexchange.com/questions/233843/textasteriskcentered-invisible-with-garamondmathdesign
+% remove the definition of \textasteriskcentered for TS1 encoding
+\UndeclareTextCommand{\textasteriskcentered}{TS1}
+% reinstate a default encoding
+\DeclareTextSymbolDefault{\textasteriskcentered}{OT1}
+% suitably define the command
+\DeclareTextCommand{\textasteriskcentered}{OT1}{\raisebox{-.7ex}[1ex][0pt]{*}}
+
+\begin{document}
+\renewcommand*{\thefootnote}{\arabic{footnote}}
+\title{%
+ \begin{tcolorbox}[
+ width=5.2cm,
+ boxrule=0pt,
+ colframe=white!40!black,
+ colback=white,
+ rightrule=2pt,
+ sharp corners,
+ enhanced,
+ overlay={\node[anchor=north east,outer sep=2pt] at ([xshift=3cm,yshift=4mm]frame.north east) {\includegraphics[width=3cm]{logo}}; }]
+ \centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.0
+ \end{tcolorbox}
+}
+\author{Chris Hughes \thanks{and contributors! See \vref{sec:contributors}. For
+ all communication, please visit \cite{latexindent-home}.}}
+\maketitle
+\begin{adjustwidth}{1cm}{1cm}
+ \small
+ \texttt{latexindent.pl} is a \texttt{Perl} script that indents \texttt{.tex} (and other)
+ files according to an indentation scheme that the user can modify to suit their
+ taste. Environments, including those with alignment delimiters (such as \texttt{tabular}),
+ and commands, including those that can split braces and brackets across lines,
+ are \emph{usually} handled correctly by the script. Options for \texttt{verbatim}-like
+ environments and commands, together with indentation after headings (such as \lstinline!chapter!, \lstinline!section!, etc)
+ are also available. The script also has the ability to modifiy line breaks, and add
+ comment symbols. All user options are customisable via the switches in the YAML interface.
+\end{adjustwidth}
+\tableofcontents
+{\small
+ \lstlistoflistings
+}
+
+\input{sec-introduction}
+\input{sec-demonstration}
+\input{sec-how-to-use}
+\input{sec-indent-config-and-settings.tex}
+\input{sec-default-user-local}
+\input{subsec-noAdditionalIndent-indentRules}
+\input{subsubsec-environments-and-their-arguments}
+\input{subsubsec-environments-with-items}
+\input{subsubsec-commands-with-arguments}
+\input{subsubsec-ifelsefi}
+\input{subsubsec-special}
+\input{subsubsec-headings}
+\input{subsubsec-no-add-remaining-code-blocks}
+\stopcontents[noAdditionalIndent]
+\input{subsec-commands-and-their-options}
+\input{sec-the-m-switch}
+\input{subsec-partnering-poly-switches}
+\input{subsec-conflicting-poly-switches}
+\input{sec-conclusions-know-limitations}
+\input{references}
+\input{appendices}
+\end{document}
+
+\subsection{The phases of \texttt{latexindent.pl}}
+ With these rules in mind, let's study a few test cases:
+
+ latexindent.pl environments-line-break-conflict.tex -s -t -m -o environments-line-break-conflict-mod1.tex -l=env-conflicts-mod1.yaml
+ latexindent.pl environments-line-break-conflict-nested.tex -s -t -m -o environments-line-break-conflict-nested-mod-2.tex -l=env-conflicts-mod2.yaml
+ latexindent.pl environments-line-break-conflict-nested.tex -s -t -m -o environments-line-break-conflict-nested-mod-3.tex -l=env-conflicts-mod3.yaml
+ environments-first-opt-args.tex, see all of the different examples in test-cases.sh
+ environments-second-opt-args.tex provides some interesting cases too
+
+ The \lstinline!\fi! command knows to insert a space, so as to give, for example, \lstinline!\fi! text, and avoid things such as \lstinline!\fitext!
+
+ from yaml
+
diff --git a/Master/texmf-dist/doc/support/latexindent/logo.tex b/Master/texmf-dist/doc/support/latexindent/logo.tex
new file mode 100644
index 00000000000..3b0841fcae5
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/logo.tex
@@ -0,0 +1,20 @@
+% arara: pdflatex
+%
+% to create the black and white logo:
+% convert -density 1000 -colorspace GRAY logo.pdf logo-bw.pdf
+\documentclass[border=1mm]{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{matrix}
+\definecolor{harvestgold}{cmyk}{0.00, 0.05, 0.51, 0.07} %EDE275
+\definecolor{cmhgold}{cmyk}{0,0.178,0.909,0.008} %FDD017
+\definecolor{bakeoffblue}{cmyk}{0.24, 0.00, 0.02, 0.18} %9fd2cd
+\definecolor{bakeoffgreen}{cmyk}{0.30, 0.00, 0.20, 0.29} %80b692
+\definecolor{burntorange}{cmyk}{0.00, 0.41, 1.00, 0.04}
+\begin{document}
+\begin{tikzpicture}[logo/.style={draw=blue,circle,fill=white}]
+ \matrix{
+ \node[logo,dash pattern=on .5pt off 1.0pt,thick,draw=purple!75!white]{}; & \node[logo,draw=burntorange]{}; \\
+ \node[logo,fill,draw=bakeoffgreen,fill=bakeoffblue]{}; & \node[logo,double,draw=cmhgold,fill=harvestgold]{};\\};
+\end{tikzpicture}
+\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/references.tex b/Master/texmf-dist/doc/support/latexindent/references.tex
new file mode 100644
index 00000000000..548b3945784
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/references.tex
@@ -0,0 +1,4 @@
+\nocite{*}
+\section{References}
+ \printbibliography[heading=subbibnumbered,title={External links},notkeyword=contributor]
+ \printbibliography[env=specialbib,heading=subbibnumbered,title={Contributors\label{sec:contributors}},keyword=contributor]
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex b/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
new file mode 100644
index 00000000000..4f9053b9717
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
@@ -0,0 +1,38 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\section{Conclusions and known limitations}\label{sec:knownlimitations}
+ There are a number of known limitations of the script, and almost certainly quite a
+ few that are \emph{unknown}!
+
+ For example, \texttt{latexindent.pl} will not indent the following code correctly,
+ because of the unmatched \lstinline![!. I'm hopeful to be able to resolve this
+ issue in a future version.
+
+ \begin{lstlisting}[,nolol=true,]
+\parbox{
+\@ifnextchar[{\@assignmentwithcutoff}{\@assignmentnocutoff}
+}
+\end{lstlisting}
+
+ The main other limitation is to do with the alignment routine of environments/commands that contain
+ delimiters which are specified in \texttt{lookForAlignDelims}.
+
+ The routine works well for `standard' blocks of code that have the same number of \lstinline!&!
+ per line, but it will not do anything for lines that do not -- such examples
+ include \texttt{tabular} environments that use \lstinline!\multicolumn! or
+ perhaps spread cell contents across multiple lines. For each alignment block (\texttt{tabular},
+ \texttt{align}, etc) \texttt{latexindent.pl} first of all makes a record
+ of the maximum number of \lstinline!&!; if each row does not have that
+ number of \lstinline!&! then it will not try to format that row. Details
+ will be given in \texttt{indent.log} assuming that \texttt{trace} mode
+ is active.
+
+ You can run \texttt{latexindent} on \texttt{.sty}, \texttt{.cls} and any file types
+ that you specify in \lstinline[breaklines=true]!fileExtensionPreference! (see \vref{lst:fileExtensionPreference});
+ if you find a case in which the script struggles, please feel free
+ to report it at \cite{latexindent-home}, and
+ in the meantime, consider using a \texttt{noIndentBlock} (see \cpageref{lst:noIndentBlockdemo}).
+
+ I hope that this script is useful to some; if you find an example where the
+ script does not behave as you think it should, the best way to contact me is to
+ report an issue on \cite{latexindent-home}; otherwise, feel free to find me on
+ the \url{http://tex.stackexchange.com/users/6621/cmhughes}.
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-default-user-local.tex b/Master/texmf-dist/doc/support/latexindent/sec-default-user-local.tex
new file mode 100644
index 00000000000..5dc0e8a77b4
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-default-user-local.tex
@@ -0,0 +1,492 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\section{defaultSettings.yaml}\label{sec:defuseloc}
+ \texttt{latexindent.pl} loads its settings from \texttt{defaultSettings.yaml}. The idea is to separate the behaviour of the script
+ from the internal working -- this is very similar to the way that we separate content
+ from form when writing our documents in \LaTeX.
+
+ If you look in \texttt{defaultSettings.yaml} you'll find the switches
+ that govern the behaviour of \texttt{latexindent.pl}. If you're not sure where
+ \texttt{defaultSettings.yaml} resides on your computer, don't worry as \texttt{indent.log}
+ will tell you where to find it.
+ \texttt{defaultSettings.yaml} is commented,
+ but here is a description of what each switch is designed to do. The default
+ value is given in each case; whenever you see \emph{integer} in \emph{this}
+ section, assume that it must be greater than or equal to \texttt{0} unless
+ otherwise stated.
+
+\yamltitle{fileExtensionPreference}*{fields}
+ \texttt{latexindent.pl} can be called to
+ act on a file without
+ specifying the file extension. For example we can call
+ \begin{commandshell}
+latexindent.pl myfile
+\end{commandshell}
+ \begin{wrapfigure}[8]{r}[0pt]{6cm}
+ \cmhlistingsfromfile[firstnumber=22,linerange={22-26},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{fileExtensionPreference}}{lst:fileExtensionPreference}
+ \end{wrapfigure}
+
+ in which case the script will look for \texttt{myfile} with the extensions
+ specified in \texttt{fileExtensionPreference} in their numeric order. If
+ no match is found, the script will exit. As with all of the fields, you should
+ change and/or add to this as necessary.
+
+ Calling \texttt{latexindent.pl myfile} with the (default) settings specified in \cref{lst:fileExtensionPreference}
+ means that the script will first look for \texttt{myfile.tex}, then \texttt{myfile.sty}, \texttt{myfile.cls},
+ and finally \texttt{myfile.bib} in order\footnote{Throughout this manual, listings with line numbers represent code
+ taken directly from \texttt{defaultSettings.yaml}.}.
+
+\yamltitle{backupExtension}*{extension name}
+
+ If you call \texttt{latexindent.pl} with the \texttt{-w} switch (to overwrite
+ \texttt{myfile.tex}) then it will create a backup file before doing
+ any indentation; the default extension is \texttt{.bak}, so, for example, \texttt{myfile.bak0}
+ would be created when calling \texttt{latexindent.pl myfile.tex} for the first time.
+
+ By default, every time you subsequently call \texttt{latexindent.pl} with
+ the \texttt{-w} to act upon \texttt{myfile.tex}, it will create successive back up files: \texttt{myfile.bak1}, \texttt{myfile.bak2},
+ etc.
+
+\yamltitle{onlyOneBackUp}*{integer}
+ \label{page:onlyonebackup}
+ If you don't want a backup for every time that you call \texttt{latexindent.pl} (so
+ you don't want \texttt{myfile.bak1}, \texttt{myfile.bak2}, etc) and you simply
+ want \texttt{myfile.bak} (or whatever you chose \texttt{backupExtension} to be)
+ then change \texttt{onlyOneBackUp} to \texttt{1}; the default value of
+ \texttt{onlyOneBackUp} is \texttt{0}.
+
+\yamltitle{maxNumberOfBackUps}*{integer}
+ Some users may only want a finite number of backup files,
+ say at most $3$, in which case, they can change this switch.
+ The smallest value of \texttt{maxNumberOfBackUps} is $0$ which will \emph{not}
+ prevent backup files being made; in this case, the behaviour will be dictated
+ entirely by \texttt{onlyOneBackUp}. The default value of \texttt{maxNumberOfBackUps}
+ is \texttt{0}.
+
+\yamltitle{cycleThroughBackUps}*{integer}
+ Some users may wish to cycle through backup files, by deleting the
+ oldest backup file and keeping only the most recent; for example,
+ with \texttt{maxNumberOfBackUps: 4}, and \texttt{cycleThroughBackUps}
+ set to \texttt{1} then the \texttt{copy} procedure given below
+ would be obeyed.
+
+ \begin{commandshell}
+copy myfile.bak1 to myfile.bak0
+copy myfile.bak2 to myfile.bak1
+copy myfile.bak3 to myfile.bak2
+copy myfile.bak4 to myfile.bak3
+ \end{commandshell}
+ The default value of \texttt{cycleThroughBackUps} is \texttt{0}.
+
+\yamltitle{logFilePreferences}*{fields}
+ \begin{wrapfigure}[10]{r}[0pt]{9cm}
+ \cmhlistingsfromfile[firstnumber=63,linerange={63-67},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.85\linewidth,before=\centering,yaml-TCB]{\texttt{logFilePreferences}}{lst:logFilePreferences}
+ \end{wrapfigure}
+ \texttt{latexindent.pl} writes information to \texttt{indent.log}, some
+ of which can be customised by changing \texttt{logFilePreferences}; see \cref{lst:logFilePreferences}.
+ If you load your own user settings (see \vref{sec:indentconfig}) then \texttt{latexindent.pl} will
+ detail them in \texttt{indent.log}; you can choose not to have the details logged by switching
+ \texttt{showEveryYamlRead} to \texttt{0}. Once all of your settings have
+ been loaded, you can see the amalgamated settings in the log file by switching \texttt{showAmalgamatedSettings}
+ to \texttt{1}, if you wish. The log file will end with the characters
+ given in \texttt{endLogFileWith}, and will report the \texttt{GitHub} address
+ of \texttt{latexindent.pl} to the log file if \texttt{showGitHubInfoFooter} is set to \texttt{1}.
+
+\yamltitle{verbatimEnvironments}*{fields}
+
+ \begin{wrapfigure}[14]{r}[0pt]{6cm}
+ \cmhlistingsfromfile[firstnumber=71,linerange={71-73},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{verbatimEnvironments}}{lst:verbatimEnvironments}
+
+ \vspace{.2cm}
+ \cmhlistingsfromfile[firstnumber=76,linerange={76-78},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{verbatimCommands}}{lst:verbatimCommands}
+ \end{wrapfigure}
+ A field that contains a list of environments
+ that you would like left completely alone -- no indentation will be performed
+ on environments that you have specified in this field, see \cref{lst:verbatimEnvironments}.
+
+ Note that if you put an environment in \\ \texttt{verbatimEnvironments}
+ and in other fields such as \texttt{lookForAlignDelims} or \texttt{noAdditionalIndent}
+ then \texttt{latexindent.pl} will \emph{always} prioritize \\ \texttt{verbatimEnvironments}.
+
+\yamltitle{verbatimCommands}*{fields}
+ A field that contains a list of commands that are verbatim commands, for example
+ \lstinline|\lstinline|; any commands populated in this field are protected from line breaking
+ routines (only relevant if the \texttt{-m} is active, see \vref{sec:modifylinebreaks}).
+
+\yamltitle{noIndentBlock}*{fields}
+
+ \begin{wrapfigure}[8]{r}[0pt]{6cm}
+ \cmhlistingsfromfile[firstnumber=84,linerange={84-86},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{noIndentBlock}}{lst:noIndentBlock}
+ \end{wrapfigure}
+ If you have a block of code that you don't want \texttt{latexindent.pl} to touch (even if it is \emph{not} a verbatim-like
+ environment) then you can wrap it in an environment from \texttt{noIndentBlock};
+ you can use any name you like for this, provided you populate it as demonstrate in
+ \cref{lst:noIndentBlock}.
+
+ Of course, you don't want to have to specify these as null environments
+ in your code, so you use them with a comment symbol, \lstinline!%!, followed
+ by as many spaces (possibly none) as you like; see \cref{lst:noIndentBlockdemo} for
+ example.
+
+ \begin{cmhlistings}[style=demo,escapeinside={(*@}{@*)}]{\texttt{noIndentBlock} demonstration}{lst:noIndentBlockdemo}
+%(*@@*) \begin{noindent}
+ this code
+ won't
+ be touched
+ by
+ latexindent.pl!
+%(*@@*)\end{noindent}
+ \end{cmhlistings}
+
+\yamltitle{removeTrailingWhitespace}*{fields}\label{yaml:removeTrailingWhitespace}
+
+ \begin{wrapfigure}[12]{r}[0pt]{6cm}
+ \cmhlistingsfromfile[firstnumber=89,linerange={89-91},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{removeTrailingWhitespace}{lst:removeTrailingWhitespace}
+
+ \vspace{.2cm}
+ \cmhlistingsfromfile[firstnumber=95,linerange={95-98},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{fileContentsEnvironments}}{lst:fileContentsEnvironments}
+ \end{wrapfigure}
+ Trailing white space can be removed both \emph{before} and \emph{after} processing
+ the document, as detailed in \cref{lst:removeTrailingWhitespace}; each of the fields
+ can take the values \texttt{0} or \texttt{1}. See \vref{lst:removeTWS-before,lst:env-mlb5-modAll,lst:env-mlb5-modAll-remove-WS}
+ for before and after results. Thanks to \cite{vosskuhle} for providing this feature.
+
+\yamltitle{fileContentsEnvironments}*{field}
+
+ Before \texttt{latexindent.pl} determines the difference between preamble (if any) and the main document,
+ it first searches for any of the environments specified in \texttt{fileContentsEnvironments}, see
+ \cref{lst:fileContentsEnvironments}.
+ The behaviour of \texttt{latexindent.pl} on these environments is determined by their location (preamble or not), and
+ the value \texttt{indentPreamble}, discussed next.
+
+\yamltitle{indentPreamble}{0|1}
+
+ The preamble of a document can sometimes contain some trickier code
+ for \texttt{latexindent.pl} to operate upon. By default, \texttt{latexindent.pl}
+ won't try to operate on the preamble (as \texttt{indentPreamble} is set to \texttt{0},
+ by default), but if you'd like \texttt{latexindent.pl} to try then change \texttt{indentPreamble} to \texttt{1}.
+
+\yamltitle{lookForPreamble}*{fields}
+
+ \begin{wrapfigure}[8]{r}[0pt]{5cm}
+ \cmhlistingsfromfile[firstnumber=103,linerange={103-107},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{lookForPreamble}{lst:lookForPreamble}
+ \end{wrapfigure}
+ Not all files contain preamble; for example, \texttt{sty}, \texttt{cls} and \texttt{bib} files typically do \emph{not}. Referencing
+ \cref{lst:lookForPreamble}, if you set, for example, \texttt{.tex} to \texttt{0}, then regardless of the setting of the value of \texttt{indentPreamble}, preamble
+ will not be assumed when operating upon \texttt{.tex} files.
+\yamltitle{preambleCommandsBeforeEnvironments}{0|1}
+ Assuming that \texttt{latexindent.pl} is asked to operate upon the preamble of a document,
+ when this switch is set to \texttt{0} then environment code blocks will be sought first,
+ and then command code blocks. When this switch is set to \texttt{1}, commands
+ will be sought first. The example that first motivated this switch contained the code given in \cref{lst:motivatepreambleCommandsBeforeEnvironments}.
+
+ \begin{cmhlistings}{Motivating \texttt{preambleCommandsBeforeEnvironments}}{lst:motivatepreambleCommandsBeforeEnvironments}
+...
+preheadhook={\begin{mdframed}[style=myframedstyle]},
+postfoothook=\end{mdframed},
+...
+\end{cmhlistings}
+
+\yamltitle{defaultIndent}*{horizontal space}
+ This is the default indentation (\lstinline!\t! means a tab, and is the default value) used in the absence of other details
+ for the command or environment we are working with; see \texttt{indentRules} in \vref{sec:noadd-indent-rules}
+ for more details.
+
+ If you're interested in experimenting with \texttt{latexindent.pl} then you
+ can \emph{remove} all indentation by setting \texttt{defaultIndent: ""}.
+
+\yamltitle{lookForAlignDelims}*{fields}
+ \begin{wrapfigure}[12]{r}[0pt]{5cm}
+ \begin{yaml}[numbers=none]{\texttt{lookForAlignDelims} (basic)}[width=.8\linewidth,before=\centering]{lst:aligndelims:basic}
+lookForAlignDelims:
+ tabular: 1
+ tabularx: 1
+ longtable: 1
+ array: 1
+ matrix: 1
+ ...
+ \end{yaml}
+ \end{wrapfigure}
+ This contains a list of environments and/or commands that
+ are operated upon in a special way by \texttt{latexindent.pl} (see \cref{lst:aligndelims:basic}).
+ In fact, the fields in \texttt{lookForAlignDelims} can actually
+ take two different forms: the \emph{basic} version is shown in \cref{lst:aligndelims:basic}
+ and the \emph{advanced} version in \cref{lst:aligndelims:advanced}; we will discuss each in turn.
+
+ The environments specified in this field will be operated on in a special way by \texttt{latexindent.pl}. In particular, it will try and align each column by its alignment
+ tabs. It does have some limitations (discussed further in \cref{sec:knownlimitations}),
+ but in many cases it will produce results such as those in \cref{lst:tabularbefore:basic,lst:tabularafter:basic}.
+
+ If you find that \texttt{latexindent.pl} does not perform satisfactorily on such
+ environments then you can set the relevant key to \texttt{0}, for example \texttt{tabular: 0}; alternatively, if you just want to ignore \emph{specific}
+ instances of the environment, you could wrap them in something from \texttt{noIndentBlock} (see \cref{lst:noIndentBlock}).
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tabular1.tex}{\texttt{tabular1.tex}}{lst:tabularbefore:basic}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tabular1-default.tex}{\texttt{tabular1.tex} default output}{lst:tabularafter:basic}
+ \end{minipage}%
+
+ If you wish to remove the alignment of the \lstinline!\\! within a delimiter-aligned block, then the
+ advanced form of \texttt{lookForAlignDelims} shown in \cref{lst:aligndelims:advanced} is for you.
+
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/tabular.yaml}[yaml-TCB]{\texttt{tabular.yaml}}{lst:aligndelims:advanced}
+
+ Note that you can use a mixture of the basic and advanced form: in \cref{lst:aligndelims:advanced} \texttt{tabular} and \texttt{tabularx}
+ are advanced and \texttt{longtable} is basic. When using the advanced form, each field should receive at least 1 sub-field, and \emph{can} (but does not have to) receive up to 3 fields:
+ \begin{itemize}
+ \item \texttt{delims}: switch equivalent to simply specifying, for example, \texttt{tabular: 1} in
+ the basic version shown in \cref{lst:aligndelims:basic} (default: 1);
+ \item \texttt{alignDoubleBackSlash}: switch to determine if \lstinline!\\! should be aligned (default: 1);
+ \item \texttt{spacesBeforeDoubleBackSlash}: optionally, specifies the number of spaces to be inserted
+ before (non-aligned) \lstinline!\\!. In order to use this field, \texttt{alignDoubleBackSlash} needs
+ to be set to 0 (default: 0).
+ \end{itemize}
+
+ Assuming that you have the settings in \cref{lst:aligndelims:advanced} saved in \texttt{tabular.yaml}, and the code
+ from \cref{lst:tabularbefore:basic} in \texttt{tabular1.tex} and you run
+ \begin{commandshell}
+latexindent.pl -l tabular.yaml tabular1.tex
+\end{commandshell}
+ then you should receive the before-and-after results shown in
+ \cref{lst:tabularbefore:advanced,lst:tabularafter:advanced}; note that the ampersands have been aligned, but
+ the \lstinline!\\! have not (compare the alignment of \lstinline!\\! in \cref{lst:tabularafter:basic,lst:tabularafter:advanced}).
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tabular1.tex}{\texttt{tabular1.tex}}{lst:tabularbefore:advanced}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tabular1-advanced.tex}{\texttt{tabular1.tex} using \cref{lst:aligndelims:advanced}}{lst:tabularafter:advanced}
+ \end{minipage}%
+
+ Saving \cref{lst:aligndelims:advanced} into \texttt{tabular1.yaml} as in \cref{lst:tabular1YAML}, and running the command
+ \begin{commandshell}
+latexindent.pl -l tabular1.yaml tabular1.tex
+\end{commandshell}
+ gives \cref{lst:tabularafter:spacing}; note the spacing before the \lstinline!\\!.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tabular1-advanced-3spaces.tex}{\texttt{tabular1.tex} using \cref{lst:tabular1YAML}}{lst:tabularafter:spacing}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.54\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/tabular1.yaml}[yaml-TCB]{\texttt{tabular1.yaml}}{lst:tabular1YAML}
+ \end{minipage}%
+
+ As of Version 3.0, the alignment routine works on mandatory and optional arguments within commands, and also within `special' code blocks
+ (see \texttt{specialBeginEnd} on \cpageref{yaml:specialBeginEnd}); for example, assuming that you have a command called \lstinline!\matrix!
+ and that it is populated within \texttt{lookForAlignDelims} (which it is, by default), and that you
+ run the command
+ \begin{commandshell}
+latexindent.pl matrix1.tex
+ \end{commandshell}
+ then the before-and-after results
+ shown in \cref{lst:matrixbefore,lst:matrixafter} are achievable by default.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/matrix1.tex}{\texttt{matrix1.tex}}{lst:matrixbefore}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/matrix1-default.tex}{\texttt{matrix1.tex} default output}{lst:matrixafter}
+ \end{minipage}%
+
+ If you have blocks of code that you wish to align at the \& character that
+ are \emph{not} wrapped in, for example, \lstinline!\begin{tabular}! \ldots \lstinline!\end{tabular}!, then you can use the mark up
+ illustrated in \cref{lst:alignmentmarkup}; the default output is shown in \cref{lst:alignmentmarkup-default}. Note that the \lstinline!%*! must be next to
+ each other, but that there can be any number of spaces (possibly none) between the
+ \lstinline!*! and \lstinline!\begin{tabular}!; note also that you may use any
+ environment name that you have specified in \texttt{lookForAlignDelims}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/align-block.tex}{\texttt{align-block.tex}}{lst:alignmentmarkup}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/align-block-default.tex}{\texttt{align-block.tex} default output}{lst:alignmentmarkup-default}
+ \end{minipage}%
+
+ With reference to \vref{tab:code-blocks} and the, yet undiscussed, fields of \texttt{noAdditionalIndent} and \texttt{indentRules}
+ (see \vref{sec:noadd-indent-rules}), these comment-marked blocks are considered \texttt{environments}.
+
+\yamltitle{indentAfterItems}*{fields}
+ \begin{wrapfigure}[5]{r}[0pt]{7cm}
+ \cmhlistingsfromfile[firstnumber=155,linerange={155-158},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{indentAfterItems}}{lst:indentafteritems}
+ \end{wrapfigure}
+ The environment names specified in \texttt{indentAfterItems} tell
+ \texttt{latexindent.pl} to look for \lstinline!\item! commands; if these switches are set to \texttt{1}
+ then indentation will be performed so as indent the code after each \texttt{item}.
+ A demonstration is given in \cref{lst:itemsbefore,lst:itemsafter}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/items1.tex}{\texttt{items1.tex}}{lst:itemsbefore}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/items1-default.tex}{\texttt{items1.tex} default output}{lst:itemsafter}
+ \end{minipage}
+
+\yamltitle{itemNames}*{fields}
+ \begin{wrapfigure}[5]{r}[0pt]{5cm}
+ \cmhlistingsfromfile[firstnumber=164,linerange={164-166},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{itemNames}}{lst:itemNames}
+ \end{wrapfigure}
+ If you have your own \texttt{item} commands (perhaps you
+ prefer to use \texttt{myitem}, for example)
+ then you can put populate them in \texttt{itemNames}.
+ For example, users of the \texttt{exam} document class might like to add
+ \texttt{parts} to \texttt{indentAfterItems} and \texttt{part} to \texttt{itemNames}
+ to their user settings (see \vref{sec:indentconfig} for details of how to configure user settings,
+ and \vref{lst:mysettings} \\ in particular \label{page:examsettings}.)
+
+\yamltitle{specialBeginEnd}*{fields}\label{yaml:specialBeginEnd}
+ The fields specified in \texttt{specialBeginEnd} are, in their default state, focused on math mode begin and end statements, but
+ there is no requirement for this to be the case; \cref{lst:specialBeginEnd} shows the
+ default settings of \texttt{specialBeginEnd}.
+
+ \cmhlistingsfromfile[firstnumber=170,linerange={170-182},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{specialBeginEnd}}{lst:specialBeginEnd}
+
+ The field \texttt{displayMath} represents \lstinline!\[...\]!, \texttt{inlineMath} represents
+ \lstinline!$...$! and \texttt{displayMathTex} represents \lstinline!$$...$$!. You can, of course,
+ rename these in your own YAML files (see \vref{sec:localsettings}); indeed, you
+ might like to set up your own specil begin and end statements.
+
+ A demonstration of the before-and-after results are shown in \cref{lst:specialbefore,lst:specialafter}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1.tex}{\texttt{special1.tex} before}{lst:specialbefore}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1-default.tex}{\texttt{special1.tex} default output}{lst:specialafter}
+ \end{minipage}
+
+ For each field, \texttt{lookForThis} is set to \texttt{1} by default, which means that \texttt{latexindent.pl}
+ will look for this pattern; you can tell \texttt{latexindent.pl} not to look for the pattern, by setting
+ \texttt{lookForThis} to \texttt{0}.
+
+\yamltitle{indentAfterHeadings}*{fields}
+ \begin{wrapfigure}[17]{r}[0pt]{8cm}
+ \cmhlistingsfromfile[firstnumber=192,linerange={192-201},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{indentAfterHeadings}}{lst:indentAfterHeadings}
+ \end{wrapfigure}
+ This field enables the user to specify
+ indentation rules that take effect after heading commands such as \lstinline!\part!, \lstinline!\chapter!,
+ \lstinline!\section!, \lstinline!\subsection*!, or indeed any user-specified command written in this field.\footnote{There is a slight
+ difference in interface for this field when comparing Version 2.2 to Version 3.0; see \vref{app:differences} for details.}
+
+ The default settings do \emph{not} place indentation after a heading, but you
+ can easily switch them on by changing \\ \texttt{indentAfterThisHeading: 0} to \\ \texttt{indentAfterThisHeading: 1}.
+ The \texttt{level} field tells \texttt{latexindent.pl} the hierarchy of the heading
+ structure in your document. You might, for example, like to have both \texttt{section}
+ and \texttt{subsection} set with \texttt{level: 3} because you do not want the indentation to go too deep.
+
+ You can add any of your own custom heading commands to this field, specifying the \texttt{level}
+ as appropriate. You can also specify your own indentation in \texttt{indentRules} (see \vref{sec:noadd-indent-rules});
+ you will find the default \texttt{indentRules} contains \lstinline!chapter: " "! which
+ tells \texttt{latexindent.pl} simply to use a space character after \texttt{\chapter} headings
+ (once \texttt{indent} is set to \texttt{1} for \texttt{chapter}).
+
+ For example, assuming that you have the code in \cref{lst:headings1yaml} saved into \texttt{headings1.yaml},
+ and that you have the text from \cref{lst:headings1} saved into \texttt{headings1.tex}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings1.yaml}[yaml-TCB]{\texttt{headings1.yaml}}{lst:headings1yaml}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings1.tex}{\texttt{headings1.tex}}{lst:headings1}
+ \end{minipage}
+
+ If you run the command
+ \begin{commandshell}
+latexindent.pl headings1.tex -l=headings1.yaml
+\end{commandshell}
+ then you should receive the output given in \cref{lst:headings1-mod1}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings1-mod1.tex}{\texttt{headings1.tex} using \cref{lst:headings1yaml}}{lst:headings1-mod1}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings1-mod2.tex}{\texttt{headings1.tex} second modification}{lst:headings1-mod2}
+ \end{minipage}
+
+ Now say that you modify the \texttt{YAML} from \cref{lst:headings1yaml} so that the \texttt{paragraph} \texttt{level} is \texttt{1}; after
+ running
+ \begin{commandshell}
+latexindent.pl headings1.tex -l=headings1.yaml
+\end{commandshell}
+ you should receive the code given in \cref{lst:headings1-mod2}; notice that
+ the \texttt{paragraph} and \texttt{subsection} are at the same indentation level.
+
+\subsection{The code blocks known \texttt{latexindent.pl}}\label{subsubsec:code-blocks}
+ As of Version 3.0, \texttt{latexindent.pl} processes documents using code blocks; each
+ of these are shown in \cref{tab:code-blocks}.
+
+ \begin{longtable}{m{.3\linewidth}@{\hspace{.25cm}}m{.4\linewidth}@{}m{.2\linewidth}}
+ \caption{Code blocks known to \texttt{latexindent.pl}}\label{tab:code-blocks}\\
+ \toprule
+ Code block & characters allowed in name & example \\
+ \midrule
+ environments & \lstinline!a-zA-Z@\*0-9_\\! &
+ \begin{lstlisting}[,nolol=true,]
+\begin{myenv}
+body of myenv
+\end{myenv}
+ \end{lstlisting}
+ \\\cmidrule{2-3}
+ optionalArguments & \emph{inherits} name from parent (e.g environment name) &
+ \begin{lstlisting}[,nolol=true,]
+[
+opt arg text
+]
+ \end{lstlisting}
+ \\\cmidrule{2-3}
+ mandatoryArguments & \emph{inherits} name from parent (e.g environment name) &
+ \begin{lstlisting}[,nolol=true,]
+{
+mand arg text
+}
+ \end{lstlisting}
+ \\\cmidrule{2-3}
+ commands & \lstinline!+a-zA-Z@\*0-9_\:! & \lstinline!\mycommand!$\langle$\itshape{arguments}$\rangle$ \\\cmidrule{2-3}
+ keyEqualsValuesBracesBrackets & \lstinline!a-zA-Z@\*0-9_\/.\h\{\}:\#-! & \lstinline!my key/.style=!$\langle$\itshape{arguments}$\rangle$ \\\cmidrule{2-3}
+ namedGroupingBracesBrackets & \lstinline!a-zA-Z@\*><! & \lstinline!in!$\langle$\itshape{arguments}$\rangle$ \\\cmidrule{2-3}
+ UnNamedGroupingBracesBrackets & \centering\emph{No name!} & \lstinline!{! or \lstinline![! or \lstinline!,! or \lstinline!&! or \lstinline!)! or \lstinline!(! or \lstinline!$! followed by $\langle$\itshape{arguments}$\rangle$ \\\cmidrule{2-3}
+ ifElseFi & \lstinline!@a-zA-Z! but must begin with either \newline \lstinline!\if! of \lstinline!\@if! &
+ \begin{lstlisting}[,nolol=true,]
+\ifnum...
+...
+\else
+...
+\fi
+ \end{lstlisting}\\\cmidrule{2-3}
+ items & User specified, see \vref{lst:indentafteritems,lst:itemNames} &
+ \begin{lstlisting}[,nolol=true,]
+\begin{enumerate}
+ \item ...
+\end{enumerate}
+ \end{lstlisting}\\\cmidrule{2-3}
+ specialBeginEnd & User specified, see \vref{lst:specialBeginEnd} &
+ \begin{lstlisting}[,nolol=true,]
+\[
+ ...
+\]
+ \end{lstlisting}\\\cmidrule{2-3}
+ afterHeading & User specified, see \vref{lst:indentAfterHeadings} &
+ \begin{lstlisting}[,morekeywords={chapter},nolol=true,]
+\chapter{title}
+ ...
+\section{title}
+ \end{lstlisting}\\\cmidrule{2-3}
+ filecontents & User specified, see \vref{lst:fileContentsEnvironments} &
+ \begin{lstlisting}[,nolol=true,]
+\begin{filecontents}
+...
+\end{filecontents}
+ \end{lstlisting}\\
+ \bottomrule
+ \end{longtable}
+
+ We will refer to these code blocks in what follows.
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-demonstration.tex b/Master/texmf-dist/doc/support/latexindent/sec-demonstration.tex
new file mode 100644
index 00000000000..656712e38fa
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-demonstration.tex
@@ -0,0 +1,40 @@
+\section{Demonstration: before and after}
+ Let's give a demonstration of some before and after code -- after all, you probably
+ won't want to try the script if you don't much like the results. You might also
+ like to watch the video demonstration I made on youtube \cite{cmh:videodemo}
+
+ As you look at \crefrange{lst:filecontentsbefore}{lst:pstricksafter}, remember
+ that \texttt{latexindent.pl} is just following its rules, and there is nothing
+ particular about these code snippets. All of the rules can be modified
+ so that you can personalize your indentation scheme.
+
+ In each of the samples given in \crefrange{lst:filecontentsbefore}{lst:pstricksafter}
+ the `before' case is a `worst case scenario' with no effort to make indentation. The `after'
+ result would be the same, regardless of the leading white space at the beginning of
+ each line which is stripped by \texttt{latexindent.pl} (unless a \texttt{verbatim}-like
+ environment or \texttt{noIndentBlock} is specified -- more on this in \cref{sec:defuseloc}).
+
+ \begin{widepage}
+ \centering
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/filecontents1.tex}{\texttt{filecontents1.tex}}{lst:filecontentsbefore}
+ \end{minipage}\hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/filecontents1-default.tex}{\texttt{filecontents1.tex} default output}{lst:filecontentsafter}
+ \end{minipage}%
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/tikzset.tex}{\texttt{tikzset.tex}}{lst:tikzsetbefore}
+ \end{minipage}\hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/tikzset-default.tex}{\texttt{tikzset.tex} default output}{lst:tikzsetafter}
+ \end{minipage}%
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/pstricks.tex}{\texttt{pstricks.tex}}{lst:pstricksbefore}
+ \end{minipage}\hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/pstricks-default.tex}{\texttt{pstricks.tex} default output}{lst:pstricksafter}
+ \end{minipage}%
+ \end{widepage}
+
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-how-to-use.tex b/Master/texmf-dist/doc/support/latexindent/sec-how-to-use.tex
new file mode 100644
index 00000000000..8e76e5d8fbf
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-how-to-use.tex
@@ -0,0 +1,248 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\section{How to use the script}
+ \texttt{latexindent.pl} ships as part of the \TeX Live distribution for
+ Linux and Mac users; \texttt{latexindent.exe} ships as part of the \TeX Live
+ and MiK\TeX{} distributions for Windows users. These files are also available
+ from github \cite{latexindent-home} should you wish to use them without
+ a \TeX{} distribution; in this case, you may like to read \vref{sec:updating-path}
+ which details how the \texttt{path} variable can be updated.
+
+ In what follows, we will always refer to \texttt{latexindent.pl}, but depending on
+ your operating system and preference, you might substitute \texttt{latexindent.exe} or
+ simply \texttt{latexindent}.
+
+ There are two ways to use \texttt{latexindent.pl}: from the command line,
+ and using \texttt{arara}; we discuss these in \cref{sec:commandline} and
+ \cref{sec:arara} respectively. We will discuss how to change the settings and
+ behaviour of the script in \vref{sec:defuseloc}.
+
+ \texttt{latexindent.pl} ships with \texttt{latexindent.exe} for Windows
+ users, so that you can use the script with or without a Perl distribution.
+ If you plan to use \texttt{latexindent.pl} (i.e, the original Perl script) then you will
+ need a few standard Perl modules -- see \vref{sec:requiredmodules} for details.
+
+\subsection{From the command line}\label{sec:commandline}
+ \texttt{latexindent.pl} has a number of different switches/flags/options, which
+ can be combined in any way that you like, either in short or long form as detailed below.
+ \texttt{latexindent.pl} produces a \texttt{.log} file, \texttt{indent.log}, every time it
+ is run; the name of the log file can be customised, but we will
+ refer to the log file as \texttt{indent.log} throughout this document.
+ There is a base of information that is written to \texttt{indent.log},
+ but other additional information will be written depending
+ on which of the following options are used.
+
+ \begin{commandshell}
+latexindent.pl
+ \end{commandshell}
+
+ This will output a welcome message to the terminal, including the version number
+ and available options.
+
+\flagbox{-h, --help}
+
+ \begin{commandshell}
+latexindent.pl -h
+ \end{commandshell}
+
+ As above this will output a welcome message to the terminal, including the version number
+ and available options.
+ \begin{commandshell}
+latexindent.pl myfile.tex
+ \end{commandshell}
+
+ This will operate on \texttt{myfile.tex}, but will simply output to your terminal; \texttt{myfile.tex} will not be changed
+ by \texttt{latexindent.pl} in any way using this command.
+
+\flagbox{-w, --overwrite}
+ \begin{commandshell}
+latexindent.pl -w myfile.tex
+latexindent.pl --overwrite myfile.tex
+latexindent.pl myfile.tex --overwrite
+ \end{commandshell}
+
+ This \emph{will} overwrite \texttt{myfile.tex}, but it will
+ make a copy of \texttt{myfile.tex} first. You can control the name of
+ the extension (default is \texttt{.bak}), and how many different backups are made --
+ more on this in \cref{sec:defuseloc}, and in particular see \texttt{backupExtension} and \texttt{onlyOneBackUp}.
+
+ Note that if \texttt{latexindent.pl} can not create the backup, then it
+ will exit without touching your original file; an error message will be given
+ asking you to check the permissions of the backup file.
+
+\flagbox{-o=output.tex,--outputfile=output.tex}
+ \begin{commandshell}
+latexindent.pl -o=output.tex myfile.tex
+latexindent.pl myfile.tex -o=output.tex
+latexindent.pl --outputfile=output.tex myfile.tex
+latexindent.pl --outputfile output.tex myfile.tex
+ \end{commandshell}
+
+ This will indent \texttt{myfile.tex} and output it to \texttt{output.tex},
+ overwriting it (\texttt{output.tex}) if it already exists\footnote{Users of version 2.* should
+ note the subtle change in syntax}. Note that if \texttt{latexindent.pl} is called with both
+ the \texttt{-w} and \texttt{-o} switches, then \texttt{-w} will
+ be ignored and \texttt{-o} will take priority (this seems safer than the
+ other way round).
+
+ Note that using \texttt{-o} is equivalent to using
+ \begin{commandshell}
+latexindent.pl myfile.tex > output.tex
+\end{commandshell}
+ See \vref{app:differences} for details of how the interface has changed
+ from Version 2.2 to Version 3.0 for this flag.
+\flagbox{-s, --silent}
+ \begin{commandshell}
+latexindent.pl -s myfile.tex
+latexindent.pl myfile.tex -s
+ \end{commandshell}
+
+ Silent mode: no output will be given to the terminal.
+
+\flagbox{-t, --trace}
+ \begin{commandshell}
+latexindent.pl -t myfile.tex
+latexindent.pl myfile.tex -t
+ \end{commandshell}
+
+ \label{page:traceswitch}
+ Tracing mode: verbose output will be given to \texttt{indent.log}. This
+ is useful if \texttt{latexindent.pl} has made a mistake and you're
+ trying to find out where and why. You might also be interested in learning
+ about \texttt{latexindent.pl}'s thought process -- if so, this
+ switch is for you, although it should be noted that, especially for large files, this does affect
+ performance of the script.
+
+\flagbox{-tt, --ttrace}
+ \begin{commandshell}
+latexindent.pl -tt myfile.tex
+latexindent.pl myfile.tex -tt
+ \end{commandshell}
+
+ \emph{More detailed} tracing mode: this option gives more details to \texttt{indent.log}
+ than the standard \texttt{trace} option (note that, even more so than with \texttt{-t},
+ especially for large files, performance of the script will be affected).
+
+\flagbox{-l, --local[=myyaml.yaml,other.yaml,...]}
+ \begin{commandshell}
+latexindent.pl -l myfile.tex
+latexindent.pl -l=myyaml.yaml myfile.tex
+latexindent.pl -l myyaml.yaml myfile.tex
+latexindent.pl -l first.yaml,second.yaml,third.yaml myfile.tex
+latexindent.pl -l=first.yaml,second.yaml,third.yaml myfile.tex
+latexindent.pl myfile.tex -l=first.yaml,second.yaml,third.yaml
+ \end{commandshell}
+
+ \label{page:localswitch}
+ \texttt{latexindent.pl} will always load \texttt{defaultSettings.yaml} (rhymes with camel)
+ and if it is called with the \texttt{-l} switch and it finds \texttt{localSettings.yaml}
+ in the same directory as \texttt{myfile.tex} then these settings will be
+ added to the indentation scheme. Information will be given in \texttt{indent.log} on
+ the success or failure of loading \texttt{localSettings.yaml}.
+
+ The \texttt{-l} flag can take an \emph{optional} parameter which details the name (or names separated by commas) of a YAML file(s)
+ that resides in the same directory as \texttt{myfile.tex}; you can use this option if you would
+ like to load a settings file in the current working directory that is \emph{not} called \texttt{localSettings.yaml}.
+ In fact, you can specify \emph{relative} path names to the current directory, but \emph{not}
+ absolute paths -- for absolute paths, see \vref{sec:indentconfig}.
+ Explicit demonstrations of how to use the \texttt{-l} switch are given throughout this documentation.
+
+\flagbox{-d, --onlydefault}
+ \begin{commandshell}
+latexindent.pl -d myfile.tex
+ \end{commandshell}
+
+ Only \texttt{defaultSettings.yaml}: you might like to read \cref{sec:defuseloc} before
+ using this switch. By default, \texttt{latexindent.pl} will always search for
+ \texttt{indentconfig.yaml} or \texttt{.indentconfig.yaml} in your home directory. If you would prefer it not to do so
+ then (instead of deleting or renaming \texttt{indentconfig.yaml}/\texttt{.indentconfig.yaml}) you can simply
+ call the script with the \texttt{-d} switch; note that this will also tell
+ the script to ignore \texttt{localSettings.yaml} even if it has been called with the
+ \texttt{-l} switch.
+
+\flagbox{-c, --cruft=<directory>}
+ \begin{commandshell}
+latexindent.pl -c=/path/to/directory/ myfile.tex
+ \end{commandshell}
+
+ If you wish to have backup files and \texttt{indent.log} written to a directory
+ other than the current working directory, then you can send these `cruft' files
+ to another directory.
+ % this switch was made as a result of http://tex.stackexchange.com/questions/142652/output-latexindent-auxiliary-files-to-a-different-directory
+
+\flagbox{-g, --logfile}
+ \begin{commandshell}
+latexindent.pl -g=other.log myfile.tex
+latexindent.pl -g other.log myfile.tex
+latexindent.pl --logfile other.log myfile.tex
+latexindent.pl myfile.tex -g other.log
+ \end{commandshell}
+
+ By default, \texttt{latexindent.pl} reports information to \texttt{indent.log}, but if you wish to change the
+ name of this file, simply call the script with your chosen name after the \texttt{-g} switch as demonstrated above.
+
+\flagbox{-m, --modifylinebreaks}
+ \begin{commandshell}
+latexindent.pl -m myfile.tex
+latexindent.pl -modifylinebreaks myfile.tex
+ \end{commandshell}
+
+ One of the most exciting developments in Version~3.0 is the ability to modify line breaks; for full details
+ see \vref{sec:modifylinebreaks}
+
+ \texttt{latexindent.pl} can also be called on a file without the file extension, for
+ example
+ \begin{commandshell}
+latexindent.pl myfile
+ \end{commandshell}
+ and in which case, you can specify
+ the order in which extensions are searched for; see \vref{lst:fileExtensionPreference}
+ for full details.
+
+\subsection{From \texttt{arara}}\label{sec:arara}
+ Using \texttt{latexindent.pl} from the command line is fine for some folks, but
+ others may find it easier to use from \texttt{arara}. \texttt{arara} ships with
+ a rule, \texttt{indent.yaml}, but in case you do not have this rule, you can find it at \cite{paulo}.
+
+ You can use the rule in any of the ways described in \cref{lst:arara} (or combinations thereof).
+ In fact, \texttt{arara} allows yet greater flexibility -- you can use \texttt{yes/no}, \texttt{true/false}, or \texttt{on/off} to toggle the various options.
+ \begin{cmhlistings}[style=demo,escapeinside={(*@}{@*)}]{\texttt{arara} sample usage}{lst:arara}
+%(*@@*) arara: indent
+%(*@@*) arara: indent: {overwrite: yes}
+%(*@@*) arara: indent: {output: myfile.tex}
+%(*@@*) arara: indent: {silent: yes}
+%(*@@*) arara: indent: {trace: yes}
+%(*@@*) arara: indent: {localSettings: yes}
+%(*@@*) arara: indent: {onlyDefault: on}
+%(*@@*) arara: indent: { cruft: /home/cmhughes/Desktop }
+\documentclass{article}
+...
+\end{cmhlistings}
+%(*@@*) arara: indent: { modifylinebreaks: yes }
+
+ Hopefully the use of these rules is fairly self-explanatory, but for completeness
+ \cref{tab:orbsandswitches} shows the relationship between \texttt{arara} directive arguments and the
+ switches given in \cref{sec:commandline}.
+
+ \begin{table}[!ht]
+ \centering
+ \caption{\texttt{arara} directive arguments and corresponding switches}
+ \label{tab:orbsandswitches}
+ \begin{tabular}{lc}
+ \toprule
+ \texttt{arara} directive argument & switch \\
+ \midrule
+ \texttt{overwrite} & \texttt{-w} \\
+ \texttt{output} & \texttt{-o} \\
+ \texttt{silent} & \texttt{-s} \\
+ \texttt{trace} & \texttt{-t} \\
+ \texttt{localSettings} & \texttt{-l} \\
+ \texttt{onlyDefault} & \texttt{-d} \\
+ \texttt{cruft} & \texttt{-c} \\
+ \texttt{modifylinebreaks} & \texttt{-m} \\
+ \bottomrule
+ \end{tabular}
+ \end{table}
+
+ The \texttt{cruft} directive does not work well when used with
+ directories that contain spaces.
+
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-indent-config-and-settings.tex b/Master/texmf-dist/doc/support/latexindent/sec-indent-config-and-settings.tex
new file mode 100644
index 00000000000..a3cffa0921a
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-indent-config-and-settings.tex
@@ -0,0 +1,154 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\section{User, local settings, \texttt{indentconfig.yaml} and \texttt{.indentconfig.yaml}}\label{sec:indentconfig}
+ Editing \texttt{defaultSettings.yaml} is not ideal as it may be overwritten when
+ updating your distribution--a better way to customize the settings to your liking
+ is to set up your own settings file,
+ \texttt{mysettings.yaml} (or any name you like, provided it ends with \texttt{.yaml}).
+ The only thing you have to do is tell \texttt{latexindent.pl} where to find it.
+
+ \texttt{latexindent.pl} will always check your home directory for \texttt{indentconfig.yaml}
+ and \texttt{.indentconfig.yaml} (unless
+ it is called with the \texttt{-d} switch),
+ which is a plain text file you can create that contains the \emph{absolute}
+ paths for any settings files that you wish \texttt{latexindent.pl} to load. There is no difference
+ between \texttt{indentconfig.yaml} and \texttt{.indentconfig.yaml}, other than the
+ fact that \texttt{.indentconfig.yaml} is a `hidden' file; thank you to \cite{jacobo-diaz-hidden-config}
+ for providing this feature. In what follows, we will use \texttt{indentconfig.yaml}, but it
+ is understood that this equally represents \texttt{.indentconfig.yaml} as well. If you
+ have both files in existence, \texttt{indentconfig.yaml} takes priority.
+
+ For Mac and Linux users, their home directory is \texttt{~/username} while
+ Windows (Vista onwards) is \lstinline!C:\Users\username!\footnote{If you're not sure
+ where to put \texttt{indentconfig.yaml}, don't
+ worry \texttt{latexindent.pl} will tell you in the log file exactly where to
+ put it assuming it doesn't exist already.}
+ \Cref{lst:indentconfig} shows a sample \texttt{indentconfig.yaml} file.
+
+ \begin{yaml}{\texttt{indentconfig.yaml} (sample)}{lst:indentconfig}
+ # Paths to user settings for latexindent.pl
+ #
+ # Note that the settings will be read in the order you
+ # specify here- each successive settings file will overwrite
+ # the variables that you specify
+
+ paths:
+ - /home/cmhughes/Documents/yamlfiles/mysettings.yaml
+ - /home/cmhughes/folder/othersettings.yaml
+ - /some/other/folder/anynameyouwant.yaml
+ - C:\Users\chughes\Documents\mysettings.yaml
+ - C:\Users\chughes\Desktop\test spaces\more spaces.yaml
+\end{yaml}
+
+ Note that the \texttt{.yaml} files you specify in \texttt{indentconfig.yaml}
+ will be loaded in the order that you write them in. Each file doesn't have
+ to have every switch from \texttt{defaultSettings.yaml}; in fact, I recommend
+ that you only keep the switches that you want to \emph{change} in these
+ settings files.
+
+ To get started with your own settings file, you might like to save a copy of
+ \texttt{defaultSettings.yaml} in another directory and call it, for
+ example, \texttt{mysettings.yaml}. Once you have added the path to \texttt{indentconfig.yaml}
+ you can change the switches and add more code-block names to it
+ as you see fit -- have a look at \cref{lst:mysettings} for an example
+ that uses four tabs for the default indent, adds the \texttt{tabbing}
+ environment/command to the list of environments that contains alignment delimiters; you might also like to
+ refer to the many YAML files detailed throughout the rest of this documentation.
+
+ \begin{yaml}{\texttt{mysettings.yaml} (example)}{lst:mysettings}
+# Default value of indentation
+defaultIndent: "\t\t\t\t"
+
+# environments that have tab delimiters, add more
+# as needed
+lookForAlignDelims:
+ tabbing: 1
+\end{yaml}
+
+ You can make sure that your settings are loaded by checking \texttt{indent.log}
+ for details -- if you have specified a path that \texttt{latexindent.pl} doesn't
+ recognize then you'll get a warning, otherwise you'll get confirmation that
+ \texttt{latexindent.pl} has read your settings file \footnote{Windows users
+ may find that they have to end \texttt{.yaml} files with a blank line}.
+
+ \begin{warning}
+ When editing \texttt{.yaml} files it is \emph{extremely} important
+ to remember how sensitive they are to spaces. I highly recommend copying
+ and pasting from \texttt{defaultSettings.yaml} when you create your
+ first \texttt{whatevernameyoulike.yaml} file.
+
+ If \texttt{latexindent.pl} can not read your \texttt{.yaml} file it
+ will tell you so in \texttt{indent.log}.
+ \end{warning}
+
+\subsection{\texttt{localSettings.yaml}}\label{sec:localsettings}
+ The \texttt{-l} switch tells \texttt{latexindent.pl} to look for \texttt{localSettings.yaml} in the
+ \emph{same directory} as \texttt{myfile.tex}. If you'd prefer to name your \texttt{localSettings.yaml} file something
+ different, (say, \texttt{myyaml.yaml}) then
+ you can call \texttt{latexindent.pl} using, for example,
+ \begin{commandshell}
+latexindent.pl -l=myyaml.yaml myfile.tex
+\end{commandshell}
+
+ Any settings file(s) specified using the \texttt{-l} switch will be read \emph{after} \texttt{defaultSettings.yaml} and, assuming they exist,
+ user settings from \texttt{indentconfig.yaml}.
+
+ Your settings file can contain any switches that you'd
+ like to change; a sample is shown in \cref{lst:localSettings}, and you'll find plenty of further examples throughout this manual.
+
+ \begin{yaml}{\texttt{localSettings.yaml} (example)}{lst:localSettings}
+# verbatim environments- environments specified
+# in this hash table will not be changed at all!
+verbatimEnvironments:
+ cmhenvironment: 0
+\end{yaml}
+
+ You can make sure that your settings file has been loaded by checking \texttt{indent.log}
+ for details; if it can not be read then you receive a warning, otherwise you'll get confirmation that
+ \texttt{latexindent.pl} has read your settings file.
+
+\subsection{Settings load order}\label{sec:loadorder}
+ \texttt{latexindent.pl} loads the settings files in the following order:
+ \begin{enumerate}
+ \item \texttt{defaultSettings.yaml} is always loaded, and can not be renamed;
+ \item \texttt{anyUserSettings.yaml} and any other arbitrarily-named files specified in \texttt{indentconfig.yaml};
+ \item \texttt{localSettings.yaml} but only if found in the same directory as \texttt{myfile.tex} and called
+ with \texttt{-l} switch; this file can be renamed, provided that the call to \texttt{latexindent.pl} is adjusted
+ accordingly (see \cref{sec:localsettings}). You may specify relative paths to other
+ YAML files using the \texttt{-l} switch, separating multiple files using commas.
+ \end{enumerate}
+ A visual representation of this is given in \cref{fig:loadorder}.
+
+ \begin{figure}
+ \centering
+ \begin{tikzpicture}[
+ needed/.style={very thick, draw=blue,fill=blue!20,
+ text centered, minimum height=2.5em,rounded corners=1ex},
+ optional/.style={draw=black, very thick,scale=0.8,
+ text centered, minimum height=2.5em,rounded corners=1ex},
+ optionalfill/.style={fill=black!10},
+ connections/.style={draw=black!30,dotted,line width=3pt,text=red},
+ ]
+ % Draw diagram elements
+ \node (latexindent) [needed,circle] {\texttt{latexindent.pl}};
+ \node (default) [needed,above right=.5cm of latexindent] {\texttt{defaultSettings.yaml}};
+ \node (indentconfig) [optional,right=of latexindent] {\texttt{indentconfig.yaml}};
+ \node (any) [optional,optionalfill,above right=of indentconfig] {\texttt{any.yaml}};
+ \node (name) [optional,optionalfill,right=of indentconfig] {\texttt{name.yaml}};
+ \node (you) [optional,optionalfill,below right=of indentconfig] {\texttt{you.yaml}};
+ \node (want) [optional,optionalfill,below=of indentconfig] {\texttt{want.yaml}};
+ \node (local) [optional,below=of latexindent] {\texttt{localSettings.yaml}};
+ % Draw arrows between elements
+ \draw[connections,solid] (latexindent) to[in=-90]node[pos=0.5,anchor=north]{1} (default.south) ;
+ \draw[connections,optional] (latexindent) -- node[pos=0.5,anchor=north]{2} (indentconfig) ;
+ \draw[connections,optional] (indentconfig) to[in=-90] (any.south) ;
+ \draw[connections,optional] (indentconfig) -- (name) ;
+ \draw[connections,optional] (indentconfig) to[out=-45,in=90] (you) ;
+ \draw[connections,optional] (indentconfig) -- (want) ;
+ \draw[connections,optional] (latexindent) -- node[pos=0.5,anchor=west]{3} (local) ;
+ \end{tikzpicture}
+ \caption{Schematic of the load order described in \cref{sec:loadorder}; solid lines represent
+ mandatory files, dotted lines represent optional files. \texttt{indentconfig.yaml} can
+ contain as many files as you like. The files will be loaded in order; if you specify
+ settings for the same field in more than one file, the most recent takes priority. }
+ \label{fig:loadorder}
+ \end{figure}
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-introduction.tex b/Master/texmf-dist/doc/support/latexindent/sec-introduction.tex
new file mode 100644
index 00000000000..ffe81105a01
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-introduction.tex
@@ -0,0 +1,47 @@
+\section{Introduction}
+\subsection{Thanks}
+ I first created \texttt{latexindent.pl} to help me format chapter files
+ in a big project. After I blogged about it on the
+ \TeX{} stack exchange \cite{cmhblog} I received some positive feedback and
+ follow-up feature requests. A big thank you to Harish Kumar who
+ helped to develop and test the initial versions of the script.
+
+ The \texttt{YAML}-based interface of \texttt{latexindent.pl} was inspired
+ by the wonderful \texttt{arara} tool; any similarities are deliberate, and
+ I hope that it is perceived as the compliment that it is. Thank you to Paulo Cereda and the
+ team for releasing this awesome tool; I initially worried that I was going to
+ have to make a GUI for \texttt{latexindent.pl}, but the release of \texttt{arara}
+ has meant there is no need.
+
+ There have been several contributors to the project so far (and hopefully more in
+ the future!); thank you very much to the people detailed in \vref{sec:contributors}
+ for their valued contributions, and thank you to those who report bugs and request features
+ at \cite{latexindent-home}.
+
+\subsection{License}
+ \texttt{latexindent.pl} is free and open source, and it always will be.
+ Before you start using it on any important files, bear in mind that \texttt{latexindent.pl} has the option to overwrite your \texttt{.tex} files.
+ It will always make at least one backup (you can choose how many it makes, see \cpageref{page:onlyonebackup})
+ but you should still be careful when using it. The script has been tested on many
+ files, but there are some known limitations (see \cref{sec:knownlimitations}).
+ You, the user, are responsible for ensuring that you maintain backups of your files
+ before running \texttt{latexindent.pl} on them. I think it is important at this
+ stage to restate an important part of the license here:
+ \begin{quote}\itshape
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ \end{quote}
+ There is certainly no malicious intent in releasing this script, and I do hope
+ that it works as you expect it to; if it does not, please first of all
+ make sure that you have the correct settings, and then feel free to let me know at \cite{latexindent-home} with a
+ complete minimum working example as I would like to improve the code as much as possible.
+ \begin{warning}
+ Before you try the script on anything important (like your thesis), test it
+ out on the sample files in the \texttt{test-case} directory \cite{latexindent-home}.
+ \end{warning}
+
+ \emph{If you have used any version 2.* of \texttt{latexindent.pl}, there
+ are a few changes to the interface; see \vref{app:differences} and the comments
+ throughout this document for details}.
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex b/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex
new file mode 100644
index 00000000000..541a66572d2
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex
@@ -0,0 +1,555 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+% the -m switch
+% the -m switch
+% the -m switch
+
+\fancyhead[R]{\bfseries\thepage%
+ \tikz[remember picture,overlay] {
+ \node at (1,0){\includegraphics{logo}};
+ }}
+\section{The \texttt{-m} (\texttt{modifylinebreaks}) switch}\label{sec:modifylinebreaks}
+ All features described in this section will only be relevant if the \texttt{-m} switch
+ is used.
+
+\yamltitle{modifylinebreaks}*{fields}
+ \begin{wrapfigure}[7]{r}[0pt]{8cm}
+ \cmhlistingsfromfile[firstnumber=356,linerange={356-358},style=yaml-LST,numbers=left,]{../defaultSettings.yaml}[MLB-TCB,width=.85\linewidth,before=\centering]{\texttt{modifyLineBreaks}}{lst:modifylinebreaks}
+ \end{wrapfigure}
+ \makebox[0pt][r]{%
+ \raisebox{-\totalheight}[0pt][0pt]{%
+ \tikz\node[opacity=1] at (0,0) {\includegraphics[width=4cm]{logo}};}}%
+ One of the most exciting features of Version 3.0 is the \texttt{-m} switch, which
+ permits \texttt{latexindent.pl} to modify line breaks, according to the
+ specifications in the \texttt{modifyLineBreaks} field. \emph{The settings
+ in this field will only be considered if the \texttt{-m} switch has been used}.
+ A snippet of the default settings of this field is shown in \cref{lst:modifylinebreaks}.
+
+ Having read the previous paragraph, it should sound reasonable that, if you call \texttt{latexindent.pl}
+ using the \texttt{-m} switch, then you give it permission to modify line breaks in your file,
+ but let's be clear:
+
+ \begin{warning}
+ If you call \texttt{latexindent.pl} with the \texttt{-m} switch, then you
+ are giving it permission to modify line breaks. By default, the only
+ thing that will happen is that multiple blank lines will be condensed into
+ one blank line; many other settings are possible, discussed next.
+ \end{warning}
+
+\yamltitle{preserveBlankLines}{0|1}
+ This field is directly related to \emph{poly-switches}, discussed below.
+ By default, it is set to \texttt{1}, which means that blank lines will
+ be protected from removal; however, regardless of this setting, multiple
+ blank lines can be condensed if \texttt{condenseMultipleBlankLinesInto} is
+ greater than \texttt{0}, discussed next.
+
+\yamltitle{condenseMultipleBlankLinesInto}*{integer $\geq 0$}
+ Assuming that this switch takes an integer value greater than \texttt{0}, \texttt{latexindent.pl} will condense multiple blank lines into
+ the number of blank lines illustrated by this switch. As an example, \cref{lst:mlb-bl} shows a sample file
+ with blank lines; upon running
+ \begin{commandshell}
+latexindent.pl myfile.tex -m
+\end{commandshell}
+ the output is shown in \cref{lst:mlb-bl-out}; note that the multiple blank lines have been
+ condensed into one blank line, and note also that we have used the \texttt{-m} switch!
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mlb1.tex}{\texttt{mlb1.tex}}{lst:mlb-bl}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mlb1-out.tex}{\texttt{mlb1.tex} out output}{lst:mlb-bl-out}
+ \end{minipage}
+
+\subsection{Poly-switches}
+ Every other field in the \texttt{modifyLineBreaks} field uses poly-switches, and can take
+ one of four integer values\footnote{You might like to associate one of the four circles in the logo with one of the four given values}:
+ \begin{itemize}[font=\bfseries]
+ \item[$-1$] \emph{remove mode}: line breaks before or after the \emph{<part of thing>} can be removed (assuming that \texttt{preserveBlankLines} is set to \texttt{0});
+ \item[0] \emph{off mode}: line breaks will not be modified for the \emph{<part of thing>} under consideration;
+ \item[1] \emph{add mode}: a line break will be added before or after the \emph{<part of thing>} under consideration, assuming that
+ there is not already a line break before or after the \emph{<part of thing>};
+ \item[2] \emph{comment then add mode}: a comment symbol will be added, followed by a line break before or after the \emph{<part of thing>} under consideration, assuming that
+ there is not already a comment and line break before or after the \emph{<part of thing>}.
+ \end{itemize}
+ All poly-switches are \emph{off} by default; \texttt{latexindent.pl} searches first of all for per-name settings, and then followed by global per-thing settings.
+
+\subsection{modifyLineBreaks for environments}\label{sec:modifylinebreaks-environments}
+ We start by viewing a snippet of \texttt{defaultSettings.yaml} in \cref{lst:environments-mlb}; note that it contains \emph{global} settings (immediately
+ after the \texttt{environments} field) and that \emph{per-name} settings are also allowed -- in the case of \cref{lst:environments-mlb}, settings
+ for \texttt{equation*} have been specified. Note that all poly-switches are \emph{off} by default.
+
+ \cmhlistingsfromfile[firstnumber=359,linerange={359-368},style=yaml-LST,numbers=left,]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,MLB-TCB]{\texttt{environments}}{lst:environments-mlb}
+
+\subsubsection{Adding line breaks (poly-switches set to $1$ or $2$)}
+ Let's begin with the simple example given in \cref{lst:env-mlb1-tex}; note that we have annotated key parts of the file using $\BeginStartsOnOwnLine$,
+ $\BodyStartsOnOwnLine$, $\EndStartsOnOwnLine$ and $\EndFinishesWithLineBreak$, these will be related to fields specified in \cref{lst:environments-mlb}.
+
+ \begin{cmhlistings}[escapeinside={(*@}{@*)}]{\texttt{env-mlb1.tex}}{lst:env-mlb1-tex}
+before words(*@$\BeginStartsOnOwnLine$@*) \begin{myenv}(*@$\BodyStartsOnOwnLine$@*)body of myenv(*@$\EndStartsOnOwnLine$@*)\end{myenv}(*@$\EndFinishesWithLineBreak$@*) after words
+\end{cmhlistings}
+
+ Let's explore \texttt{BeginStartsOnOwnLine} and \texttt{BodyStartsOnOwnLine} in \cref{lst:env-mlb1,lst:env-mlb2}, and in particular,
+ let's allow each of them in turn to take a value of $1$.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb1.yaml}[MLB-TCB]{\texttt{env-mlb1.yaml}}{lst:env-mlb1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb2.yaml}[MLB-TCB]{\texttt{env-mlb2.yaml}}{lst:env-mlb2}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl -m env-mlb.tex -l env-mlb1.yaml
+latexindent.pl -m env-mlb.tex -l env-mlb2.yaml
+\end{commandshell}
+ the output is as in \cref{lst:env-mlb-mod1,lst:env-mlb-mod2} respectively.
+
+ \begin{widepage}
+ \begin{minipage}{.57\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod1.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb1}}{lst:env-mlb-mod1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.42\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod2.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb2}}{lst:env-mlb-mod2}
+ \end{minipage}
+ \end{widepage}
+
+ There are a couple of points to note:
+ \begin{itemize}
+ \item in \cref{lst:env-mlb-mod1} a line break has been added at the point denoted by $\BeginStartsOnOwnLine$ in \cref{lst:env-mlb1-tex}; no
+ other line breaks have been changed;
+ \item in \cref{lst:env-mlb-mod2} a line break has been added at the point denoted by $\BodyStartsOnOwnLine$ in \cref{lst:env-mlb1-tex};
+ furthermore, note that the \emph{body} of \texttt{myenv} has received the appropriate (default) indentation.
+ \end{itemize}
+
+ Let's now change each of the \texttt{1} values in \cref{lst:env-mlb1,lst:env-mlb2} so that they are $2$ and
+ save them into \texttt{env-mlb3.yaml} and \texttt{env-mlb4.yaml} respectively (see \cref{lst:env-mlb3,lst:env-mlb4}).
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb3.yaml}[MLB-TCB]{\texttt{env-mlb3.yaml}}{lst:env-mlb3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb4.yaml}[MLB-TCB]{\texttt{env-mlb4.yaml}}{lst:env-mlb4}
+ \end{minipage}
+
+ Upon running commands analogous to the above, we obtain \cref{lst:env-mlb-mod3,lst:env-mlb-mod4}.
+
+ \begin{widepage}
+ \begin{minipage}{.57\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod3.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb3}}{lst:env-mlb-mod3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.42\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod4.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb4}}{lst:env-mlb-mod4}
+ \end{minipage}
+ \end{widepage}
+
+ Note that line breaks have been added as in \cref{lst:env-mlb-mod1,lst:env-mlb-mod2}, but this time a comment symbol
+ has been added before adding the line break; in both cases, trailing horizontal
+ space has been stripped before doing so.
+
+ Let's explore \texttt{EndStartsOnOwnLine} and \texttt{EndFinishesWithLineBreak} in \cref{lst:env-mlb5,lst:env-mlb6},
+ and in particular, let's allow each of them in turn to take a value of $1$.
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb5.yaml}[MLB-TCB]{\texttt{env-mlb5.yaml}}{lst:env-mlb5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb6.yaml}[MLB-TCB]{\texttt{env-mlb6.yaml}}{lst:env-mlb6}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl -m env-mlb.tex -l env-mlb5.yaml
+latexindent.pl -m env-mlb.tex -l env-mlb6.yaml
+\end{commandshell}
+ the output is as in \cref{lst:env-mlb-mod5,lst:env-mlb-mod6}.
+
+ \begin{widepage}
+ \begin{minipage}{.42\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod5.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb5}}{lst:env-mlb-mod5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.57\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod6.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb6}}{lst:env-mlb-mod6}
+ \end{minipage}
+ \end{widepage}
+
+ There are a couple of points to note:
+ \begin{itemize}
+ \item in \cref{lst:env-mlb-mod5} a line break has been added at the point denoted by $\EndStartsOnOwnLine$ in \vref{lst:env-mlb1-tex}; no
+ other line breaks have been changed and the \lstinline!\end{myenv}! statement has \emph{not} received indentation (as intended);
+ \item in \cref{lst:env-mlb-mod6} a line break has been added at the point denoted by $\EndFinishesWithLineBreak$ in \vref{lst:env-mlb1-tex}.
+ \end{itemize}
+
+ Let's now change each of the \texttt{1} values in \cref{lst:env-mlb5,lst:env-mlb6} so that they are $2$ and
+ save them into \texttt{env-mlb7.yaml} and \texttt{env-mlb8.yaml} respectively (see \cref{lst:env-mlb7,lst:env-mlb8}).
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb7.yaml}[MLB-TCB]{\texttt{env-mlb7.yaml}}{lst:env-mlb7}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb8.yaml}[MLB-TCB]{\texttt{env-mlb8.yaml}}{lst:env-mlb8}
+ \end{minipage}
+
+ Upon running commands analogous to the above, we obtain \cref{lst:env-mlb-mod7,lst:env-mlb-mod8}.
+
+ \begin{widepage}
+ \begin{minipage}{.42\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod7.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb7}}{lst:env-mlb-mod7}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.57\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb-mod8.tex}{\texttt{env-mlb.tex} using \cref{lst:env-mlb8}}{lst:env-mlb-mod8}
+ \end{minipage}
+ \end{widepage}
+
+ Note that line breaks have been added as in \cref{lst:env-mlb-mod5,lst:env-mlb-mod6}, but this time a comment symbol
+ has been added before adding the line break; in both cases, trailing horizontal
+ space has been stripped before doing so.
+
+ If you ask \texttt{latexindent.pl} to add a line break (possibly with a comment) using a poly-switch value of $1$ (or $2$),
+ it will only do so if necessary. For example, if you process the file in \vref{lst:mlb2} using any of the YAML
+ files presented so far in this section, it will be left unchanged.
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb2.tex}{\texttt{env-mlb2.tex}}{lst:mlb2}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb3.tex}{\texttt{env-mlb3.tex}}{lst:mlb3}
+ \end{minipage}
+
+ In contrast, the output from processing the file in \cref{lst:mlb3} will vary depending
+ on the poly-switches used; in \cref{lst:env-mlb3-mod2} you'll see that the comment symbol after
+ the \lstinline!\begin{myenv}! has been moved to the next line, as \texttt{BodyStartsOnOwnLine}
+ is set to \texttt{1}. In \cref{lst:env-mlb3-mod4} you'll see that the comment has been accounted
+ for correctly because \texttt{BodyStartsOnOwnLine} has been set to \texttt{2},
+ and the comment symbol has \emph{not} been moved to its own line. You're encouraged to experiment
+ with \cref{lst:mlb3} and by setting the other poly-switches considered so far to \texttt{2} in turn.
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb3-mod2.tex}{\texttt{env-mlb3.tex} using \vref{lst:env-mlb2}}{lst:env-mlb3-mod2}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb3-mod4.tex}{\texttt{env-mlb3.tex} using \vref{lst:env-mlb4}}{lst:env-mlb3-mod4}
+ \end{minipage}
+
+ The details of the discussion in this section have concerned \emph{global} poly-switches in the \texttt{environments} field;
+ each switch can also be specified on a \emph{per-name} basis, which would take priority over the global values; with
+ reference to \vref{lst:environments-mlb}, an example is shown for the \texttt{equation*} environment.
+
+\subsubsection{Removing line breaks (poly-switches set to $-1$)}
+ Setting poly-switches to $-1$ tells \texttt{latexindent.pl} to remove line breaks of the \emph{<part of the thing>}, if necessary. We will consider the
+ example code given in \cref{lst:mlb4}, noting in particular the positions of
+ the line break highlighters, $\BeginStartsOnOwnLine$, $\BodyStartsOnOwnLine$, $\EndStartsOnOwnLine$
+ and $\EndFinishesWithLineBreak$, together with the associated YAML files in \crefrange{lst:env-mlb9}{lst:env-mlb12}.
+
+ \begin{minipage}{.45\linewidth}
+ \begin{cmhlistings}[escapeinside={(*@}{@*)}]{\texttt{env-mlb4.tex}}{lst:mlb4}
+before words(*@$\BeginStartsOnOwnLine$@*)
+\begin{myenv}(*@$\BodyStartsOnOwnLine$@*)
+body of myenv(*@$\EndStartsOnOwnLine$@*)
+\end{myenv}(*@$\EndFinishesWithLineBreak$@*)
+after words
+\end{cmhlistings}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.51\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb9.yaml}[MLB-TCB]{\texttt{env-mlb9.yaml}}{lst:env-mlb9}
+
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb10.yaml}[MLB-TCB]{\texttt{env-mlb10.yaml}}{lst:env-mlb10}
+
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb11.yaml}[MLB-TCB]{\texttt{env-mlb11.yaml}}{lst:env-mlb11}
+
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/env-mlb12.yaml}[MLB-TCB]{\texttt{env-mlb12.yaml}}{lst:env-mlb12}
+ \end{minipage}
+
+ After running the commands
+ \begin{commandshell}
+latexindent.pl -m env-mlb4.tex -l env-mlb9.yaml
+latexindent.pl -m env-mlb4.tex -l env-mlb10.yaml
+latexindent.pl -m env-mlb4.tex -l env-mlb11.yaml
+latexindent.pl -m env-mlb4.tex -l env-mlb12.yaml
+\end{commandshell}
+
+ we obtain the respective output in \crefrange{lst:env-mlb4-mod9}{lst:env-mlb4-mod12}.
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb4-mod9.tex}{\texttt{env-mlb4.tex} using \cref{lst:env-mlb9}}{lst:env-mlb4-mod9}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb4-mod10.tex}{\texttt{env-mlb4.tex} using \cref{lst:env-mlb10}}{lst:env-mlb4-mod10}
+ \end{minipage}
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb4-mod11.tex}{\texttt{env-mlb4.tex} using \cref{lst:env-mlb11}}{lst:env-mlb4-mod11}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb4-mod12.tex}{\texttt{env-mlb4.tex} using \cref{lst:env-mlb12}}{lst:env-mlb4-mod12}
+ \end{minipage}
+
+ Notice that in
+ \begin{itemize}
+ \item \cref{lst:env-mlb4-mod9} the line break denoted by $\BeginStartsOnOwnLine$ in \cref{lst:mlb4} has been removed;
+ \item \cref{lst:env-mlb4-mod10} the line break denoted by $\BodyStartsOnOwnLine$ in \cref{lst:mlb4} has been removed;
+ \item \cref{lst:env-mlb4-mod11} the line break denoted by $\EndStartsOnOwnLine$ in \cref{lst:mlb4} has been removed;
+ \item \cref{lst:env-mlb4-mod12} the line break denoted by $\EndFinishesWithLineBreak$ in \cref{lst:mlb4} has been removed.
+ \end{itemize}
+ We examined each of these cases separately for clarity of explanation, but you can combine all of the YAML
+ settings in \crefrange{lst:env-mlb9}{lst:env-mlb12} into one file; alternatively, you could tell \texttt{latexindent.pl}
+ to load them all by using the following command, for example
+ \begin{widepage}
+ \begin{commandshell}
+latexindent.pl -m env-mlb4.tex -l env-mlb9.yaml,env-mlb10.yaml,env-mlb11.yaml,env-mlb12.yaml
+\end{commandshell}
+ \end{widepage}
+ which gives the output in \vref{lst:env-mlb1-tex}.
+
+ \paragraph{About trailing horizontal space}
+ Recall that on \cpageref{yaml:removeTrailingWhitespace} we discussed the YAML field \texttt{removeTrailingWhitespace},
+ and that it has two (binary) switches to determine if horizontal space should be removed \texttt{beforeProcessing} and \texttt{afterProcessing}.
+ The \texttt{beforeProcessing} is particularly relevant when considering the \texttt{-m} switch; let's consider the
+ file shown in \cref{lst:mlb5}, which highlights trailing spaces.
+
+ \begin{minipage}{.45\linewidth}
+ \begin{cmhlistings}[showspaces=true,escapeinside={(*@}{@*)}]{\texttt{env-mlb5.tex}}{lst:mlb5}
+before words (*@$\BeginStartsOnOwnLine$@*)
+\begin{myenv} (*@$\BodyStartsOnOwnLine$@*)
+body of myenv (*@$\EndStartsOnOwnLine$@*)
+\end{myenv} (*@$\EndFinishesWithLineBreak$@*)
+after words
+\end{cmhlistings}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/removeTWS-before.yaml}[yaml-TCB]{\texttt{removeTWS-before.yaml}}{lst:removeTWS-before}
+ \end{minipage}
+
+ The output from the following commands
+ \begin{widepage}
+ \begin{commandshell}
+latexindent.pl -m env-mlb5.tex -l env-mlb9.yaml,env-mlb10.yaml,env-mlb11.yaml,env-mlb12.yaml
+latexindent.pl -m env-mlb5.tex -l env-mlb9.yaml,env-mlb10.yaml,env-mlb11.yaml,env-mlb12.yaml,removeTWS-before.yaml
+\end{commandshell}
+ \end{widepage}
+ is shown, respectively, in \cref{lst:env-mlb5-modAll,lst:env-mlb5-modAll-remove-WS}; note that
+ the trailing horizontal white space has been preserved (by default) in \cref{lst:env-mlb5-modAll}, while
+ in \cref{lst:env-mlb5-modAll-remove-WS}, it has been removed using the switch specified in \cref{lst:removeTWS-before}.
+
+ \begin{widepage}
+ \cmhlistingsfromfile{demonstrations/env-mlb5-modAll.tex}{\texttt{env-mlb5.tex} using \crefrange{lst:env-mlb4-mod9}{lst:env-mlb4-mod12}}{lst:env-mlb5-modAll}
+
+ \cmhlistingsfromfile{demonstrations/env-mlb5-modAll-remove-WS.tex}{\texttt{env-mlb5.tex} using \crefrange{lst:env-mlb4-mod9}{lst:env-mlb4-mod12} \emph{and} \cref{lst:removeTWS-before}}{lst:env-mlb5-modAll-remove-WS}
+ \end{widepage}
+
+
+ \paragraph{Blank lines}
+ Now let's consider the file in \cref{lst:mlb6}, which contains blank lines.
+
+ \begin{minipage}{.45\linewidth}
+ \begin{cmhlistings}[escapeinside={(*@}{@*)}]{\texttt{env-mlb6.tex}}{lst:mlb6}
+before words(*@$\BeginStartsOnOwnLine$@*)
+
+
+\begin{myenv}(*@$\BodyStartsOnOwnLine$@*)
+
+
+body of myenv(*@$\EndStartsOnOwnLine$@*)
+
+
+\end{myenv}(*@$\EndFinishesWithLineBreak$@*)
+
+after words
+\end{cmhlistings}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/UnpreserveBlankLines.yaml}[MLB-TCB]{\texttt{UnpreserveBlankLines.yaml}}{lst:UnpreserveBlankLines}
+ \end{minipage}
+
+ Upon running the following commands
+ \begin{widepage}
+ \begin{commandshell}
+latexindent.pl -m env-mlb6.tex -l env-mlb9.yaml,env-mlb10.yaml,env-mlb11.yaml,env-mlb12.yaml
+latexindent.pl -m env-mlb6.tex -l env-mlb9.yaml,env-mlb10.yaml,env-mlb11.yaml,env-mlb12.yaml,UnpreserveBlankLines.yaml
+\end{commandshell}
+ \end{widepage}
+ we receive the respective outputs in \cref{lst:env-mlb6-modAll,lst:env-mlb6-modAll-un-Preserve-Blank-Lines}. In
+ \cref{lst:env-mlb6-modAll} we see that the multiple blank lines have each been condensed into one blank line,
+ but that blank lines have \emph{not} been removed by the poly-switches -- this is because, by default, \texttt{preserveBlankLines}
+ is set to \texttt{1}. By contrast, in \cref{lst:env-mlb6-modAll-un-Preserve-Blank-Lines}, we have allowed
+ the poly-switches to remove blank lines because, in \cref{lst:UnpreserveBlankLines}, we have set \texttt{preserveBlankLines} to \texttt{0}.
+
+ \begin{widepage}
+ \begin{minipage}{.30\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb6-modAll.tex}{\texttt{env-mlb6.tex} using \crefrange{lst:env-mlb4-mod9}{lst:env-mlb4-mod12}}{lst:env-mlb6-modAll}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.65\linewidth}
+ \cmhlistingsfromfile{demonstrations/env-mlb6-modAll-un-Preserve-Blank-Lines.tex}{\texttt{env-mlb6.tex} using \crefrange{lst:env-mlb4-mod9}{lst:env-mlb4-mod12} \emph{and} \cref{lst:UnpreserveBlankLines}}{lst:env-mlb6-modAll-un-Preserve-Blank-Lines}
+ \end{minipage}
+ \end{widepage}
+
+\subsection{Poly-switches for other code blocks}
+ Rather than repeat the examples shown for the environment code blocks (in \vref{sec:modifylinebreaks-environments}), we choose to detail the poly-switches for
+ all other code blocks in \cref{tab:poly-switch-mapping}; note that each and every one of these poly-switches is \emph{off by default}, i.e, set to \texttt{0}. Note also that,
+ by design, line breaks involving \texttt{verbatim}, \texttt{filecontents} and `comment-marked' code blocks (\vref{lst:alignmentmarkup}) can \emph{not} be
+ modified using \texttt{latexindent.pl}.
+
+ \begin{longtable}{m{.2\textwidth}@{\hspace{.75cm}}m{.35\textwidth}@{}m{.4\textwidth}}
+ \caption{Poly-switch mappings for all code-block types}\label{tab:poly-switch-mapping}\\
+ \toprule
+ Code block & Sample & Poly-switch mapping \\
+ \midrule
+ environment &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+before words(*@$\BeginStartsOnOwnLine$@*)
+\begin{myenv}(*@$\BodyStartsOnOwnLine$@*)
+body of myenv(*@$\EndStartsOnOwnLine$@*)
+\end{myenv}(*@$\EndFinishesWithLineBreak$@*)
+after words
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & BeginStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & BodyStartsOnOwnLine \\
+ $\EndStartsOnOwnLine$ & EndStartsOnOwnLine \\
+ $\EndFinishesWithLineBreak$ & EndFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ ifelsefi &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+before words(*@$\BeginStartsOnOwnLine$@*)
+\if...(*@$\BodyStartsOnOwnLine$@*)
+body of if statement(*@$\ElseStartsOnOwnLine$@*)
+\else(*@$\ElseFinishesWithLineBreak$@*)
+body of else statement(*@$\EndStartsOnOwnLine$@*)
+\fi(*@$\EndFinishesWithLineBreak$@*)
+after words
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & IfStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & BodyStartsOnOwnLine \\
+ $\ElseStartsOnOwnLine$ & ElseStartsOnOwnLine \\
+ $\ElseFinishesWithLineBreak$ & ElseFinishesWithLineBreak \\
+ $\EndStartsOnOwnLine$ & FiStartsOnOwnLine \\
+ $\EndFinishesWithLineBreak$ & FiFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ optionalArguments &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+...(*@$\BeginStartsOnOwnLine$@*)
+[(*@$\BodyStartsOnOwnLine$@*)
+body of opt arg(*@$\EndStartsOnOwnLine$@*)
+](*@$\EndFinishesWithLineBreak$@*)
+...
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & LSqBStartsOnOwnLine\footnote{LSqB stands for Left Square Bracket} \\
+ $\BodyStartsOnOwnLine$ & OptArgBodyStartsOnOwnLine \\
+ $\EndStartsOnOwnLine$ & RSqBStartsOnOwnLine \\
+ $\EndFinishesWithLineBreak$ & RSqBFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ mandatoryArguments &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+...(*@$\BeginStartsOnOwnLine$@*)
+{(*@$\BodyStartsOnOwnLine$@*)
+body of mand arg(*@$\EndStartsOnOwnLine$@*)
+}(*@$\EndFinishesWithLineBreak$@*)
+...
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & LCuBStartsOnOwnLine\footnote{LCuB stands for Left Curly Brace} \\
+ $\BodyStartsOnOwnLine$ & MandArgBodyStartsOnOwnLine \\
+ $\EndStartsOnOwnLine$ & RCuBStartsOnOwnLine \\
+ $\EndFinishesWithLineBreak$ & RCuBFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ commands &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},morekeywords={mycommand},nolol=true,]
+before words(*@$\BeginStartsOnOwnLine$@*)
+\mycommand(*@$\BodyStartsOnOwnLine$@*)
+(*@$\langle$\itshape{arguments}$\rangle$@*)
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & CommandStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & CommandNameFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ namedGroupingBraces Brackets &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},morekeywords={myname},nolol=true,]
+before words(*@$\BeginStartsOnOwnLine$@*)
+myname(*@$\BodyStartsOnOwnLine$@*)
+(*@$\langle$\itshape{braces/brackets}$\rangle$@*)
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & NameStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & NameFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ keyEqualsValuesBraces\newline Brackets &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},morekeywords={key},nolol=true,]
+before words(*@$\BeginStartsOnOwnLine$@*)
+key(*@$\EqualsStartsOnOwnLine$@*)=(*@$\BodyStartsOnOwnLine$@*)
+(*@$\langle$\itshape{braces/brackets}$\rangle$@*)
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & KeyStartsOnOwnLine \\
+ $\EqualsStartsOnOwnLine$ & EqualsStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & EqualsFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ items &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+before words(*@$\BeginStartsOnOwnLine$@*)
+\item(*@$\BodyStartsOnOwnLine$@*)
+...
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & ItemStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & ItemFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \cmidrule{2-3}
+ specialBeginEnd &
+ \begin{lstlisting}[escapeinside={(*@}{@*)},nolol=true]
+before words(*@$\BeginStartsOnOwnLine$@*)
+\[(*@$\BodyStartsOnOwnLine$@*)
+body of special(*@$\EndStartsOnOwnLine$@*)
+\](*@$\EndFinishesWithLineBreak$@*)
+after words
+ \end{lstlisting}
+ &
+ \begin{tabular}[t]{c@{~}l@{}}
+ $\BeginStartsOnOwnLine$ & SpecialBeginStartsOnOwnLine \\
+ $\BodyStartsOnOwnLine$ & SpecialBodyStartsOnOwnLine \\
+ $\EndStartsOnOwnLine$ & SpecialEndStartsOnOwnLine \\
+ $\EndFinishesWithLineBreak$ & SpecialEndFinishesWithLineBreak \\
+ \end{tabular}
+ \\
+ \bottomrule
+ \end{longtable}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsec-commands-and-their-options.tex b/Master/texmf-dist/doc/support/latexindent/subsec-commands-and-their-options.tex
new file mode 100644
index 00000000000..8ef571bc574
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsec-commands-and-their-options.tex
@@ -0,0 +1,139 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsection{Commands and the strings between their arguments}\label{subsec:commands-string-between}
+ The \texttt{command} code blocks will always look for optional (square bracketed) and
+ mandatory (curly braced) arguments which can contain comments, line breaks and
+ `beamer' commands \lstinline!<.*?>! between them. There are switches that can allow them to contain
+ other strings, which we discuss next.
+
+\yamltitle{commandCodeBlocks}*{fields}
+
+ The \texttt{commandCodeBlocks} field contains a few switches detailed in \cref{lst:commandCodeBlocks}.
+
+ \cmhlistingsfromfile[firstnumber=278,linerange={278-286},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{commandCodeBlocks}}{lst:commandCodeBlocks}
+
+\yamltitle{roundParenthesesAllowed}{0|1}
+
+ The need for this field was mostly motivated by commands found in code used to generate images in \texttt{PSTricks} and \texttt{tikz}; for example,
+ let's consider the code given in \cref{lst:pstricks1}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/pstricks1.tex}{\texttt{pstricks1.tex}}{lst:pstricks1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/pstricks1-default.tex}{\texttt{pstricks1} default output}{lst:pstricks1-default}
+ \end{minipage}
+
+ Notice that the \lstinline!\defFunction! command has an optional argument, followed by a
+ mandatory argument, followed by a round-parenthesis argument, $(u,v)$.
+
+ By default, because \texttt{roundParenthesesAllowed} is set to $1$ in \cref{lst:commandCodeBlocks}, then \texttt{latexindent.pl}
+ will allow round parenthesis between optional and mandatory arguments. In the case of the code in \cref{lst:pstricks1},
+ \texttt{latexindent.pl} finds \emph{all} the arguments of \lstinline!defFunction!, both before and after \lstinline!(u,v)!.
+
+ The default output from running \texttt{latexindent.pl} on \cref{lst:pstricks1} actually leaves it unchanged (see \cref{lst:pstricks1-default});
+ note in particular, this is because of \texttt{noAdditionalIndentGlobal} as discussed on \cpageref{page:command:noAddGlobal}.
+
+ Upon using the YAML settings in \cref{lst:noRoundParentheses}, and running the command
+ \begin{commandshell}
+latexindent.pl pstricks1.tex -l noRoundParentheses.yaml
+ \end{commandshell}
+ we obtain the output given in \cref{lst:pstricks1-nrp}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/pstricks1-nrp.tex}{\texttt{pstricks1.tex} using \cref{lst:noRoundParentheses}}{lst:pstricks1-nrp}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/noRoundParentheses.yaml}[yaml-TCB]{\texttt{noRoundParentheses.yaml}}{lst:noRoundParentheses}
+ \end{minipage}
+
+ Notice the difference between \cref{lst:pstricks1-default} and \cref{lst:pstricks1-nrp}; in particular, in \cref{lst:pstricks1-nrp}, because
+ round parentheses are \emph{not} allowed, \texttt{latexindent.pl} finds that the \lstinline!\defFunction! command finishes at the first opening
+ round parenthesis. As such, the remaining braced, mandatory, arguments are found to be \texttt{UnNamedGroupingBracesBrackets} (see \vref{tab:code-blocks})
+ which, by default, assume indentation for their body, and hence the tabbed indentation in \cref{lst:pstricks1-nrp}.
+
+ Let's explore this using the YAML given in \cref{lst:defFunction} and run the command
+ \begin{commandshell}
+latexindent.pl pstricks1.tex -l defFunction.yaml
+ \end{commandshell}
+ then the output is as in \cref{lst:pstricks1-indent-rules}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/pstricks1-indent-rules.tex}{\texttt{pstricks1.tex} using \cref{lst:defFunction}}{lst:pstricks1-indent-rules}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/defFunction.yaml}[yaml-TCB]{\texttt{defFunction.yaml}}{lst:defFunction}
+ \end{minipage}
+
+ Notice in \cref{lst:pstricks1-indent-rules} that the \emph{body} of the \lstinline!defFunction! command i.e, the subsequent lines
+ containing arguments after the command name, have received the single space of indentation specified by \cref{lst:defFunction}.
+
+\yamltitle{stringsAllowedBetweenArguments}*{fields}
+ \texttt{tikz} users may well specify code such as that given in \cref{lst:tikz-node1}; processing this code using
+ \texttt{latexindent.pl} gives the default output in \cref{lst:tikz-node1-default}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tikz-node1.tex}{\texttt{tikz-node1.tex}}{lst:tikz-node1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[columns=fixed]{demonstrations/tikz-node1-default.tex}{\texttt{tikz-node1} default output}{lst:tikz-node1-default}
+ \end{minipage}
+
+ With reference to \vref{lst:commandCodeBlocks}, we see that the strings
+ \begin{quote}
+ to, node, ++
+ \end{quote}
+ are all allowed to appear between arguments, as they are each set to $1$; importantly, you are encouraged to add further names
+ to this field as necessary. This means that when \texttt{latexindent.pl}
+ processes \cref{lst:tikz-node1}, it consumes:
+ \begin{itemize}
+ \item the optional argument \lstinline![thin]!
+ \item the round-bracketed argument \lstinline!(c)! because \texttt{roundParenthesesAllowed} is $1$ by default
+ \item the string \lstinline!to! (specified in \texttt{stringsAllowedBetweenArguments})
+ \item the optional argument \lstinline![in=110,out=-90]!
+ \item the string \lstinline!++! (specified in \texttt{stringsAllowedBetweenArguments})
+ \item the round-bracketed argument \lstinline!(0,-0.5cm)! because \texttt{roundParenthesesAllowed} is $1$ by default
+ \item the string \lstinline!node! (specified in \texttt{stringsAllowedBetweenArguments})
+ \item the optional argument \lstinline![below,align=left,scale=0.5]!
+ \end{itemize}
+
+ We can explore this further, for example using \cref{lst:draw} and running the command
+ \begin{commandshell}
+latexindent.pl tikz-node1.tex -l draw.yaml
+\end{commandshell}
+ we receive the output given in \cref{lst:tikz-node1-draw}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/tikz-node1-draw.tex}{\texttt{tikz-node1.tex} using \cref{lst:draw}}{lst:tikz-node1-draw}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/draw.yaml}[yaml-TCB]{\texttt{draw.yaml}}{lst:draw}
+ \end{minipage}
+
+ Notice that each line after the \lstinline!\draw! command (its `body') in \cref{lst:tikz-node1-draw} has been given the
+ appropriate two-spaces worth of indentation specified in \cref{lst:draw}.
+
+ Let's compare this with the output from using the YAML settings in \cref{lst:no-to}, and running the command
+ \begin{commandshell}
+latexindent.pl tikz-node1.tex -l no-to.yaml
+\end{commandshell}
+ given in \cref{lst:tikz-node1-no-to}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/tikz-node1-no-to.tex}{\texttt{tikz-node1.tex} using \cref{lst:no-to}}{lst:tikz-node1-no-to}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/no-to.yaml}[yaml-TCB]{\texttt{no-to.yaml}}{lst:no-to}
+ \end{minipage}
+
+ In this case, \texttt{latexindent.pl} sees that:
+ \begin{itemize}
+ \item the \lstinline!\draw! command finishes after the \lstinline!(c)! as (\texttt{stringsAllowedBetweenArguments} has \texttt{to} set to $0$)
+ \item it finds a \texttt{namedGroupingBracesBrackets} called \texttt{to} (see \vref{tab:code-blocks}) \emph{with} argument \lstinline![in=110,out=-90]!
+ \item it finds another \texttt{namedGroupingBracesBrackets} but this time called \texttt{node} with argument \lstinline![below,align=left,scale=0.5]!
+ \end{itemize}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsec-conflicting-poly-switches.tex b/Master/texmf-dist/doc/support/latexindent/subsec-conflicting-poly-switches.tex
new file mode 100644
index 00000000000..61216c96c7c
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsec-conflicting-poly-switches.tex
@@ -0,0 +1,137 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsection{Conflicting poly-switches: sequential code blocks}
+ It is very easy to have conflicting poly-switches; if we use the example from \vref{lst:mycommand1},
+ and consider the YAML settings given in \cref{lst:mycom-mlb4}. The output from running
+ \begin{commandshell}
+latexindent.pl -m -l=mycom-mlb4.yaml mycommand1.tex
+\end{commandshell}
+ is given in \cref{lst:mycom-mlb4}.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb4.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb4}}{lst:mycommand1-mlb4}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb4.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb4.yaml}}{lst:mycom-mlb4}
+ \end{minipage}
+
+ Studying \cref{lst:mycom-mlb4}, we see that the two poly-switches are at opposition with one another:
+ \begin{itemize}
+ \item on the one hand, \texttt{LCuBStartsOnOwnLine} should \emph{not} start on its own line (as poly-switch is set to $-1$);
+ \item on the other hand, \texttt{RCuBFinishesWithLineBreak} \emph{should} finish with a line break.
+ \end{itemize}
+ So, which should win the conflict? As demonstrated in \cref{lst:mycommand1-mlb4}, it is clear that \texttt{LCuBStartsOnOwnLine} won
+ this conflict, and the reason is that \emph{the second argument was processed after the first} -- in general, the most recently-processed
+ code block and associated poly-switch takes priority.
+
+ We can explore this further by considering the YAML settings in \cref{lst:mycom-mlb5}; upon running the command
+ \begin{commandshell}
+latexindent.pl -m -l=mycom-mlb5.yaml mycommand1.tex
+\end{commandshell}
+ we obtain the output given in \cref{lst:mycommand1-mlb5}.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb5.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb5}}{lst:mycommand1-mlb5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb5.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb5.yaml}}{lst:mycom-mlb5}
+ \end{minipage}
+
+ As previously, the most-recently-processed code block takes priority -- as before, the second (i.e, \emph{last}) argument. Exploring this
+ further, we consider the YAML settings in \cref{lst:mycom-mlb6}, which give associated output in \cref{lst:mycommand1-mlb6}.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb6.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb6}}{lst:mycommand1-mlb6}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb6.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb6.yaml}}{lst:mycom-mlb6}
+ \end{minipage}
+
+ Note that a \lstinline!%! \emph{has} been added to the trailing first \lstinline!}!; this is because:
+ \begin{itemize}
+ \item while processing the \emph{first} argument, the trailing line break has been removed (\texttt{RCuBFinishesWithLineBreak} set to $-1$);
+ \item while processing the \emph{second} argument, \texttt{latexindent.pl} finds that it does \emph{not} begin on its own line, and so
+ because \texttt{LCuBStartsOnOwnLine} is set to $2$, it adds a comment, followed by a line break.
+ \end{itemize}
+
+\subsection{Conflicting poly-switches: nested code blocks}
+ Now let's consider an example when nested code blocks have conflicting poly-switches; we'll use the code in \cref{lst:nested-env},
+ noting that it contains nested environments.
+
+ \cmhlistingsfromfile{demonstrations/nested-env.tex}{\texttt{nested-env.tex}}{lst:nested-env}
+
+ Let's use the YAML settings given in \cref{lst:nested-env-mlb1-yaml}, which upon running the command
+ \begin{commandshell}
+latexindent.pl -m -l=nested-env-mlb1.yaml nested-env.tex
+ \end{commandshell}
+ gives the output in \cref{lst:nested-env-mlb1}.
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/nested-env-mlb1.tex}{\texttt{nested-env.tex} using \cref{lst:nested-env-mlb1}}{lst:nested-env-mlb1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/nested-env-mlb1.yaml}[MLB-TCB,width=\linewidth]{\texttt{nested-env-mlb1.yaml}}{lst:nested-env-mlb1-yaml}
+ \end{minipage}
+
+ In \cref{lst:nested-env-mlb1}, let's first of all note that both environments have received the appropriate (default) indentation; secondly,
+ note that the poly-switch \texttt{EndStartsOnOwnLine} appears to have won the conflict, as \lstinline!\end{one}! has had its leading line break removed.
+
+ To understand it, let's talk about the three basic phases of \texttt{latexindent.pl}:
+ \begin{enumerate}
+ \item Phase 1: packing, in which code blocks are replaced with unique ids, working from \emph{the inside to the outside}, and then sequentially -- for example, in
+ \cref{lst:nested-env}, the \texttt{two} environment is found \emph{before} the \texttt{one} environment; if the -m switch is active, then during this phase:
+ \begin{itemize}
+ \item line breaks at the beginning of the \texttt{body} can be added (if \texttt{BodyStartsOnOwnLine} is $1$ or $2$) or removed (if \texttt{BodyStartsOnOwnLine} is $-1$);
+ \item line breaks at the end of the body can be added (if \texttt{EndStartsOnOwnLine} is $1$ or $2$) or removed (if \texttt{EndStartsOnOwnLine} is $-1$);
+ \item line breaks after the end statement can be added (if \texttt{EndFinishesWithLineBreak} is $1$ or $2$).
+ \end{itemize}
+ \item Phase 2: indentation, in which white space is added to the begin, body, and end statements;
+ \item Phase 3: unpacking, in which unique ids are replaced by their \emph{indented} code blocks; if the -m switch is active, then during this phase,
+ \begin{itemize}
+ \item line breaks before \texttt{begin} statements can be added or removed (depending upon \texttt{BeginStartsOnOwnLine});
+ \item line breaks after \emph{end} statements can be removed but \emph{NOT} added (see \texttt{EndFinishesWithLineBreak}).
+ \end{itemize}
+ \end{enumerate}
+
+ With reference to \cref{lst:nested-env-mlb1}, this means that during Phase 1:
+ \begin{itemize}
+ \item the \texttt{two} environment is found first, and
+ the line break ahead of the \lstinline!\end{two}! statement is removed because \texttt{EndStartsOnOwnLine} is set to $-1$. Importantly,
+ because, \emph{at this stage}, \lstinline!\end{two}! \emph{does} finish with a line break, \texttt{EndFinishesWithLineBreak} causes
+ no action.
+ \item next, the \texttt{one} environment is found; the line break ahead of \lstinline!\end{one}! is removed because \texttt{EndStartsOnOwnLine}
+ is set to $-1$.
+ \end{itemize}
+ The indentation is done in Phase 2, and then in Phase 3, \emph{there is no option to add a line break after the \lstinline!end! statements}.
+ We can justify this by remembering that during Phase 3, the \texttt{one} environment will be found and processed first, followed
+ by the \texttt{two} environment. If the \texttt{two} environment were to add a line break after the \lstinline!\end{two}! statement, then
+ \texttt{latexindent.pl} would have no way of knowing how much indentation to add to the subsequent text (in this case, \lstinline!\end{one}!).
+
+ We can explore this further using the poly-switches in \cref{lst:nested-env-mlb2}; upon running the command
+ \begin{commandshell}
+latexindent.pl -m -l=nested-env-mlb2.yaml nested-env.tex
+ \end{commandshell}
+ we obtain the output given in \cref{lst:nested-env-mlb2-output}.
+
+ \begin{minipage}{.45\linewidth}
+ \cmhlistingsfromfile{demonstrations/nested-env-mlb2.tex}{\texttt{nested-env.tex} using \cref{lst:nested-env-mlb2}}{lst:nested-env-mlb2-output}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/nested-env-mlb2.yaml}[MLB-TCB,width=\linewidth]{\texttt{nested-env-mlb2.yaml}}{lst:nested-env-mlb2}
+ \end{minipage}
+
+ During Phase 1:
+ \begin{itemize}
+ \item the \texttt{two} environment is found first, and
+ the line break ahead of the \lstinline!\end{two}! statement is not changed because \texttt{EndStartsOnOwnLine} is set to $1$.
+ Importantly, because, \emph{at this stage}, \lstinline!\end{two}! \emph{does} finish with a line break, \texttt{EndFinishesWithLineBreak} causes
+ no action.
+ \item next, the \texttt{one} environment is found; the line break ahead of \lstinline!\end{one}! is already present, and no action is needed.
+ \end{itemize}
+ The indentation is done in Phase 2, and then in Phase 3, the \texttt{one} environment is found and processed first, followed by
+ the \texttt{two} environment. \emph{At this stage}, the \texttt{two} environment finds \texttt{EndFinishesWithLineBreak} is $-1$, so it removes
+ the trailing line break; remember, at this point, \texttt{latexindent.pl} has completely finished with the \texttt{one} environment.
diff --git a/Master/texmf-dist/doc/support/latexindent/subsec-noAdditionalIndent-indentRules.tex b/Master/texmf-dist/doc/support/latexindent/subsec-noAdditionalIndent-indentRules.tex
new file mode 100644
index 00000000000..e0a20542877
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsec-noAdditionalIndent-indentRules.tex
@@ -0,0 +1,24 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsection{\texttt{noAdditionalIndent} and \texttt{indentRules}}\label{sec:noadd-indent-rules}
+ \texttt{latexindent.pl} operates on files by looking for code blocks, as detailed in \vref{subsubsec:code-blocks};
+ for each type of code block in \vref{tab:code-blocks} (which we will call a \emph{$\langle$thing$\rangle$} in what follows)
+ it searches YAML fields for information in the following order:
+ \begin{enumerate}
+ \item \texttt{noAdditionalIndent} for the \emph{name} of the current \emph{$\langle$thing$\rangle$};
+ \item \texttt{indentRules} for the \emph{name} of the current \emph{$\langle$thing$\rangle$};
+ \item \texttt{noAdditionalIndentGlobal} for the \emph{type} of the current \emph{$\langle$thing$\rangle$};
+ \item \texttt{indentRulesGlobal} for the \emph{type} of the current \emph{$\langle$thing$\rangle$}.
+ \end{enumerate}
+
+ Using the above list, the first piece of information to be found will be used; failing that,
+ the value of \texttt{defaultIndent} is used.
+ If information is found in multiple fields, the first one according to the list above will be used; for example,
+ if information is present in both \texttt{indentRules} and in \texttt{noAdditionalIndentGlobal}, then the information from \texttt{indentRules}
+ takes priority.
+
+ We now present details for the different type of code blocks known to \texttt{latexindent.pl}, as detailed in \vref{tab:code-blocks}; for
+ reference, there follows a list of the code blocks covered.
+
+ \startcontents[noAdditionalIndent]
+ \printcontents[noAdditionalIndent]{}{0}{}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsec-partnering-poly-switches.tex b/Master/texmf-dist/doc/support/latexindent/subsec-partnering-poly-switches.tex
new file mode 100644
index 00000000000..d906fe84e9e
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsec-partnering-poly-switches.tex
@@ -0,0 +1,47 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsection{Partnering \texttt{BodyStartsOnOwnLine} with argument-based poly-switches}
+ Some poly-switches need to be partnered together; in particular, when line breaks involving the \emph{first} argument
+ of a code block need to be accounted for using both \texttt{BodyStartsOnOwnLine} (or its equivalent, see \vref{tab:poly-switch-mapping})
+ and \texttt{LCuBStartsOnOwnLine} for mandatory arguments, and \texttt{LSqBStartsOnOwnLine} for optional arguments.
+
+ Let's begin with the code in \cref{lst:mycommand1} and the YAML settings in \cref{lst:mycom-mlb1}; with reference
+ to \vref{tab:poly-switch-mapping}, the key \texttt{CommandNameFinishesWithLineBreak} is an alias for \texttt{BodyStartsOnOwnLine}.
+
+ \cmhlistingsfromfile{demonstrations/mycommand1.tex}{\texttt{mycommand1.tex}}{lst:mycommand1}
+
+ Upon running the command
+ \begin{commandshell}
+latexindent.pl -m -l=mycom-mlb1.yaml mycommand1.tex
+\end{commandshell}
+ we obtain \cref{lst:mycommand1-mlb1}; note that the \emph{second} mandatory argument beginning brace \lstinline!{! has had
+ its leading line break removed, but that the \emph{first} brace has not.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb1.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb1}}{lst:mycommand1-mlb1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb1.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb1.yaml}}{lst:mycom-mlb1}
+ \end{minipage}
+
+ Now let's change the YAML file so that it is as in \cref{lst:mycom-mlb2}; upon running the analogous command to that given above,
+ we obtain \cref{lst:mycommand1-mlb2}; both beginning braces \lstinline!{! have had their leading line breaks removed.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb2.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb2}}{lst:mycommand1-mlb2}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb2.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb2.yaml}}{lst:mycom-mlb2}
+ \end{minipage}
+
+ Now let's change the YAML file so that it is as in \cref{lst:mycom-mlb3}; upon running the analogous command to that given above,
+ we obtain \cref{lst:mycommand1-mlb3}.
+
+ \begin{minipage}{.4\linewidth}
+ \cmhlistingsfromfile{demonstrations/mycommand1-mlb3.tex}{\texttt{mycommand1.tex} using \cref{lst:mycom-mlb3}}{lst:mycommand1-mlb3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.55\linewidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycom-mlb3.yaml}[MLB-TCB,width=\linewidth]{\texttt{mycom-mlb3.yaml}}{lst:mycom-mlb3}
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-commands-with-arguments.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-commands-with-arguments.tex
new file mode 100644
index 00000000000..592e7fe4243
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-commands-with-arguments.tex
@@ -0,0 +1,100 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{Commands with arguments}\label{subsubsec:commands-arguments}
+ Let's begin with the simple example in \cref{lst:mycommand}; when \texttt{latexindent.pl} operates
+ on this file, the default output is shown in \cref{lst:mycommand-default}. \footnote{The command code blocks
+ have quite a few subtleties, described in \vref{subsec:commands-string-between}.}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand.tex}{\texttt{mycommand.tex}}{lst:mycommand}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-default.tex}{\texttt{mycommand.tex} default output}{lst:mycommand-default}
+ \end{minipage}
+
+ As in the environment-based case (see \vref{lst:myenv-noAdd1,lst:myenv-noAdd2}) we may specify \texttt{noAdditionalIndent}
+ either in `scalar' form, or in `field' form, as shown in \cref{lst:mycommand-noAdd1,lst:mycommand-noAdd2}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd1.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd1.yaml}}{lst:mycommand-noAdd1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd2.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd2.yaml}}{lst:mycommand-noAdd2}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl mycommand.tex -l mycommand-noAdd1.yaml
+latexindent.pl mycommand.tex -l mycommand-noAdd2.yaml
+\end{commandshell}
+ we receive the respective output given in \cref{lst:mycommand-output-noAdd1,lst:mycommand-output-noAdd2}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd1.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd1}}{lst:mycommand-output-noAdd1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd2.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd2}}{lst:mycommand-output-noAdd2}
+ \end{minipage}
+
+ Note that in \cref{lst:mycommand-output-noAdd1} that the `body', optional argument \emph{and} mandatory argument have \emph{all} received
+ no additional indentation, while in \cref{lst:mycommand-output-noAdd2}, only the `body' has not received any additional indentation. We define
+ the `body' of a command as any lines following the command name that include its optional or mandatory arguments.
+
+ We may further customise \texttt{noAdditionalIndent} for \texttt{mycommand} as we did in \vref{lst:myenv-noAdd5,lst:myenv-noAdd6}; explicit examples
+ are given in \cref{lst:mycommand-noAdd3,lst:mycommand-noAdd4}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd3.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd3.yaml}}{lst:mycommand-noAdd3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd4.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd4.yaml}}{lst:mycommand-noAdd4}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl mycommand.tex -l mycommand-noAdd3.yaml
+latexindent.pl mycommand.tex -l mycommand-noAdd4.yaml
+\end{commandshell}
+ we receive the respective output given in \cref{lst:mycommand-output-noAdd3,lst:mycommand-output-noAdd4}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd3.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd3}}{lst:mycommand-output-noAdd3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd4.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd4}}{lst:mycommand-output-noAdd4}
+ \end{minipage}
+
+ Attentive readers will note that the body of \texttt{mycommand} in both \cref{lst:mycommand-output-noAdd3,lst:mycommand-output-noAdd4}
+ has received no additional indent, even though \texttt{body} is explicitly set to \texttt{0} in both \cref{lst:mycommand-noAdd3,lst:mycommand-noAdd4}.
+ This is because, by default, \texttt{noAdditionalIndentGlobal} for \texttt{commands} is set to \texttt{1} by default; this can be easily
+ fixed as in \cref{lst:mycommand-noAdd5,lst:mycommand-noAdd6}.\label{page:command:noAddGlobal}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd5.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd5.yaml}}{lst:mycommand-noAdd5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mycommand-noAdd6.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{mycommand-noAdd6.yaml}}{lst:mycommand-noAdd6}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl mycommand.tex -l mycommand-noAdd5.yaml
+latexindent.pl mycommand.tex -l mycommand-noAdd6.yaml
+\end{commandshell}
+ we receive the respective output given in \cref{lst:mycommand-output-noAdd5,lst:mycommand-output-noAdd6}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd5.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd5}}{lst:mycommand-output-noAdd5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/mycommand-noAdd6.tex}{\texttt{mycommand.tex} using \cref{lst:mycommand-noAdd6}}{lst:mycommand-output-noAdd6}
+ \end{minipage}
+
+ Both \texttt{indentRules} and \texttt{indentRulesGlobal} can be adjusted as they were for \emph{environment} code blocks, as in
+ \vref{lst:myenv-rules3,lst:myenv-rules4} and \vref{lst:indentRulesGlobal:environments,lst:opt-args-indent-rules-glob,lst:mand-args-indent-rules-glob}.
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-and-their-arguments.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-and-their-arguments.tex
new file mode 100644
index 00000000000..908c2607b78
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-and-their-arguments.tex
@@ -0,0 +1,255 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{Environments and their arguments}\label{subsubsec:env-and-their-args}
+ There are a few different YAML switches governing the indentation of environments; let's start
+ with the code shown in \cref{lst:myenvtex}.
+
+ \cmhlistingsfromfile{demonstrations/myenvironment-simple.tex}{\texttt{myenv.tex}}{lst:myenvtex}
+
+\yamltitle{noAdditionalIndent}*{fields}
+ If we do not wish \texttt{myenv} to receive any additional indentation, we have a few choices available to us,
+ as demonstrated in \cref{lst:myenv-noAdd1,lst:myenv-noAdd2}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd1.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd1.yaml}}{lst:myenv-noAdd1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd2.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd2.yaml}}{lst:myenv-noAdd2}
+ \end{minipage}
+
+ On applying either of the following commands,
+ \begin{commandshell}
+latexindent.pl myenv.tex -l myenv-noAdd1.yaml
+latexindent.pl myenv.tex -l myenv-noAdd2.yaml
+\end{commandshell}
+ we obtain the output given in \cref{lst:myenv-output}; note in particular that the environment \texttt{myenv}
+ has not received any \emph{additional} indentation, but that the \texttt{outer} environment \emph{has} still
+ received indentation.
+
+ \cmhlistingsfromfile{demonstrations/myenvironment-simple-noAdd-body1.tex}{\texttt{myenv.tex output (using either \cref{lst:myenv-noAdd1} or \cref{lst:myenv-noAdd2})}}{lst:myenv-output}
+
+ Upon changing the YAML files to those shown in \cref{lst:myenv-noAdd3,lst:myenv-noAdd4}, and running either
+ \begin{commandshell}
+latexindent.pl myenv.tex -l myenv-noAdd3.yaml
+latexindent.pl myenv.tex -l myenv-noAdd4.yaml
+\end{commandshell}
+ we obtain the output given in \cref{lst:myenv-output-4}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd3.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd3.yaml}}{lst:myenv-noAdd3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd4.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd4.yaml}}{lst:myenv-noAdd4}
+ \end{minipage}
+
+ \cmhlistingsfromfile{demonstrations/myenvironment-simple-noAdd-body4.tex}{\texttt{myenv.tex output} (using either \cref{lst:myenv-noAdd3} or \cref{lst:myenv-noAdd4})}{lst:myenv-output-4}
+
+ Let's now allow \texttt{myenv} to have some optional and mandatory arguments, as in \cref{lst:myenv-args}.
+ \cmhlistingsfromfile{demonstrations/myenvironment-args.tex}{\texttt{myenv-args.tex}}{lst:myenv-args}
+ Upon running
+ \begin{commandshell}
+latexindent.pl -l=myenv-noAdd1.yaml myenv-args.tex
+\end{commandshell}
+ we obtain the output shown in \cref{lst:myenv-args-noAdd1}; note that the optional argument, mandatory argument and body \emph{all}
+ have received no additional indent. This is because, when \texttt{noAdditionalIndent} is specified in `scalar' form (as in \cref{lst:myenv-noAdd1}),
+ then \emph{all} parts of the environment (body, optional and mandatory arguments) are assumed to want no additional indent.
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-noAdd-body1.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-noAdd1}}{lst:myenv-args-noAdd1}
+
+ We may customise \texttt{noAdditionalIndent} for optional and mandatory arguments of the \texttt{myenv} environment, as shown in, for example, \cref{lst:myenv-noAdd5,lst:myenv-noAdd6}.
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd5.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd5.yaml}}{lst:myenv-noAdd5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-noAdd6.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-noAdd6.yaml}}{lst:myenv-noAdd6}
+ \end{minipage}
+
+ Upon running
+ \begin{commandshell}
+latexindent.pl myenv.tex -l myenv-noAdd5.yaml
+latexindent.pl myenv.tex -l myenv-noAdd6.yaml
+\end{commandshell}
+ we obtain the respective outputs given in \cref{lst:myenv-args-noAdd5,lst:myenv-args-noAdd6}. Note that in \cref{lst:myenv-args-noAdd5}
+ the text for the \emph{optional} argument has not received any additional indentation, and that in \cref{lst:myenv-args-noAdd6} the
+ \emph{mandatory} argument has not received any additional indentation; in both cases, the \emph{body} has not received any additional indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-noAdd5.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-noAdd5}}{lst:myenv-args-noAdd5}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-noAdd6.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-noAdd6}}{lst:myenv-args-noAdd6}
+ \end{minipage}
+
+\yamltitle{indentRules}*{fields}
+ We may also specify indentation rules for environment code blocks using the \texttt{indentRules} field; see, for example,
+ \cref{lst:myenv-rules1,lst:myenv-rules2}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-rules1.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-rules1.yaml}}{lst:myenv-rules1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-rules2.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-rules2.yaml}}{lst:myenv-rules2}
+ \end{minipage}
+
+ On applying either of the following commands,
+ \begin{commandshell}
+latexindent.pl myenv.tex -l myenv-rules1.yaml
+latexindent.pl myenv.tex -l myenv-rules2.yaml
+\end{commandshell}
+ we obtain the output given in \cref{lst:myenv-rules-output}; note in particular that the environment \texttt{myenv}
+ has received one tab (from the \texttt{outer} environment) plus three spaces from \cref{lst:myenv-rules1} or \ref{lst:myenv-rules2}.
+
+ \cmhlistingsfromfile{demonstrations/myenv-rules1.tex}{\texttt{myenv.tex output (using either \cref{lst:myenv-rules1} or \cref{lst:myenv-rules2})}}{lst:myenv-rules-output}
+
+ If you specify a field in \texttt{indentRules} using anything other than horizontal space, it will be ignored.
+
+ Returning to the example in \cref{lst:myenv-args} that contains optional and mandatory arguments. Upon using \cref{lst:myenv-rules1} as in
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -l=myenv-rules1.yaml
+\end{commandshell}
+ we obtain the output in \cref{lst:myenv-args-rules1}; note that the body, optional argument and mandatory argument have \emph{all}
+ received the same customised indentation.
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules1.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-rules1}}{lst:myenv-args-rules1}
+
+ You can specify different indentation rules for the different features using, for example, \cref{lst:myenv-rules3,lst:myenv-rules4}
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-rules3.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-rules3.yaml}}{lst:myenv-rules3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/myenv-rules4.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{myenv-rules4.yaml}}{lst:myenv-rules4}
+ \end{minipage}
+
+ After running
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -l myenv-rules3.yaml
+latexindent.pl myenv-args.tex -l myenv-rules4.yaml
+\end{commandshell}
+ then we obtain the respective outputs given in \cref{lst:myenv-args-rules3,lst:myenv-args-rules4}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules3.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-rules3}}{lst:myenv-args-rules3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules4.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-rules4}}{lst:myenv-args-rules4}
+ \end{minipage}
+
+ Note that in \cref{lst:myenv-args-rules3}, the optional argument has only received a single space of indentation, while the mandatory argument
+ has received the default (tab) indentation; the environment body has received three spaces of indentation.
+
+ In \cref{lst:myenv-args-rules4}, the optional argument has received the default (tab) indentation, the mandatory argument has received two tabs
+ of indentation, and the body has received three spaces of indentation.
+
+\yamltitle{noAdditionalIndentGlobal}*{fields}
+ \begin{wrapfigure}[6]{r}[0pt]{7cm}
+ \cmhlistingsfromfile[firstnumber=247,linerange={247-248},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{env-noAdditionalGlobal.yaml}}{lst:noAdditionalIndentGlobal:environments}
+ \end{wrapfigure}
+ Assuming that your environment name is not found within neither \texttt{noAdditionalIndent} nor \texttt{indentRules}, the next
+ place that \texttt{latexindent.pl} will look is \texttt{noAdditionalIndentGlobal}, and in particular \emph{for the environments} key
+ (see \cref{lst:noAdditionalIndentGlobal:environments}). Let's say that you change
+ the value of \texttt{environments} to \texttt{1} in \cref{lst:noAdditionalIndentGlobal:environments}, and that you run
+
+ \begin{widepage}
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -l env-noAdditionalGlobal.yaml
+latexindent.pl myenv-args.tex -l myenv-rules1.yaml,env-noAdditionalGlobal.yaml
+\end{commandshell}
+ \end{widepage}
+
+ The respective output from these two commands are in \cref{lst:myenv-args-no-add-global1,lst:myenv-args-no-add-global2}; in \cref{lst:myenv-args-no-add-global1} notice that \emph{both}
+ environments receive no additional indentation but that the arguments of \texttt{myenv} still \emph{do} receive indentation. In \cref{lst:myenv-args-no-add-global2}
+ notice that the \emph{outer} environment does not receive additional indentation, but because of the settings from \texttt{myenv-rules1.yaml} (in \vref{lst:myenv-rules1}), the \texttt{myenv}
+ environment still \emph{does} receive indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules1-noAddGlobal1.tex}{\texttt{myenv-args.tex} using \cref{lst:noAdditionalIndentGlobal:environments}}{lst:myenv-args-no-add-global1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules1-noAddGlobal2.tex}{\texttt{myenv-args.tex} using \cref{lst:noAdditionalIndentGlobal:environments,lst:myenv-rules1}}{lst:myenv-args-no-add-global2}
+ \end{minipage}
+
+ In fact, \texttt{noAdditionalIndentGlobal} also contains keys that control the indentation of optional and mandatory
+ arguments; on referencing \cref{lst:opt-args-no-add-glob,lst:mand-args-no-add-glob}
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/opt-args-no-add-glob.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{opt-args-no-add-glob.yaml}}{lst:opt-args-no-add-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mand-args-no-add-glob.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{mand-args-no-add-glob.yaml}}{lst:mand-args-no-add-glob}
+ \end{minipage}
+
+ we may run the commands
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -local opt-args-no-add-glob.yaml
+latexindent.pl myenv-args.tex -local mand-args-no-add-glob.yaml
+\end{commandshell}
+ which produces the respective outputs given in \cref{lst:myenv-args-no-add-opt,lst:myenv-args-no-add-mand}. Notice that in \cref{lst:myenv-args-no-add-opt}
+ the \emph{optional} argument has not received any additional indentation, and in \cref{lst:myenv-args-no-add-mand} the \emph{mandatory} argument
+ has not received any additional indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules1-noAddGlobal3.tex}{\texttt{myenv-args.tex} using \cref{lst:opt-args-no-add-glob}}{lst:myenv-args-no-add-opt}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-rules1-noAddGlobal4.tex}{\texttt{myenv-args.tex} using \cref{lst:mand-args-no-add-glob}}{lst:myenv-args-no-add-mand}
+ \end{minipage}
+
+\yamltitle{indentRulesGlobal}*{fields}
+ \begin{wrapfigure}[4]{r}[0pt]{7cm}
+ \cmhlistingsfromfile[firstnumber=263,linerange={263-264},style=yaml-LST]{../defaultSettings.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{env-indentRulesGlobal.yaml}}{lst:indentRulesGlobal:environments}
+ \end{wrapfigure}
+ The final check that \texttt{latexindent.pl} will make is to look for \texttt{indentRulesGlobal} as detailed in \cref{lst:indentRulesGlobal:environments}; if you change the \texttt{environments}
+ field to anything involving horizontal space, say \lstinline!" "!, and then run the following commands
+
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -l env-indentRules.yaml
+latexindent.pl myenv-args.tex -l myenv-rules1.yaml,env-indentRules.yaml
+\end{commandshell}
+ then the respective output is shown in \cref{lst:myenv-args-indent-rules-global1,lst:myenv-args-indent-rules-global2}. Note that
+ in \cref{lst:myenv-args-indent-rules-global1}, both the environment blocks have received a single-space indentation, whereas in
+ \cref{lst:myenv-args-indent-rules-global2} the \texttt{outer} environment has received single-space indentation (specified by \texttt{indentRulesGlobal}),
+ but \texttt{myenv} has received \lstinline!" "!, as specified by the particular \texttt{indentRules} for \texttt{myenv} \vref{lst:myenv-rules1}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-global-rules1.tex}{\texttt{myenv-args.tex} using \cref{lst:indentRulesGlobal:environments}}{lst:myenv-args-indent-rules-global1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-global-rules2.tex}{\texttt{myenv-args.tex} using \cref{lst:myenv-rules1,lst:indentRulesGlobal:environments}}{lst:myenv-args-indent-rules-global2}
+ \end{minipage}
+
+ You can specify \texttt{indentRulesGlobal} for both optional and mandatory arguments, as detailed in \cref{lst:opt-args-indent-rules-glob,lst:mand-args-indent-rules-glob}
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/opt-args-indent-rules-glob.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{opt-args-indent-rules-glob.yaml}}{lst:opt-args-indent-rules-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/mand-args-indent-rules-glob.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{mand-args-indent-rules-glob.yaml}}{lst:mand-args-indent-rules-glob}
+ \end{minipage}
+
+ Upon running the following commands
+ \begin{commandshell}
+latexindent.pl myenv-args.tex -local opt-args-indent-rules-glob.yaml
+latexindent.pl myenv-args.tex -local mand-args-indent-rules-glob.yaml
+\end{commandshell}
+ we obtain the respective outputs in \cref{lst:myenv-args-indent-rules-global3,lst:myenv-args-indent-rules-global4}. Note that the \emph{optional}
+ argument in \cref{lst:myenv-args-indent-rules-global3} has received two tabs worth of indentation, while the \emph{mandatory} argument has
+ done so in \cref{lst:myenv-args-indent-rules-global4}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-global-rules3.tex}{\texttt{myenv-args.tex} using \cref{lst:opt-args-indent-rules-glob}}{lst:myenv-args-indent-rules-global3}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/myenvironment-args-global-rules4.tex}{\texttt{myenv-args.tex} using \cref{lst:mand-args-indent-rules-glob}}{lst:myenv-args-indent-rules-global4}
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-with-items.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-with-items.tex
new file mode 100644
index 00000000000..82bcc9044f2
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-environments-with-items.tex
@@ -0,0 +1,59 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{Environments with items}
+ With reference to \vref{lst:indentafteritems,lst:itemNames}, some commands
+ may contain \texttt{item} commands; for the purposes of this discussion,
+ we will use the code from \vref{lst:itemsbefore}.
+
+ Assuming that you've populated \texttt{itemNames} with the name of your
+ \texttt{item}, you can put the item name into \texttt{noAdditionalIndent}
+ as in \cref{lst:item-noAdd1}, although a more efficient approach may be
+ to change the relevant field in \texttt{itemNames} to \texttt{0}. Similarly,
+ you can customise the indentation that your \texttt{item} receives using
+ \texttt{indentRules}, as in \cref{lst:item-rules1}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/item-noAdd1.yaml}[yaml-TCB]{\texttt{item-noAdd1.yaml}}{lst:item-noAdd1}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/item-rules1.yaml}[yaml-TCB]{\texttt{item-rules1.yaml}}{lst:item-rules1}
+ \end{minipage}
+
+ Upon running the following commands
+ \begin{commandshell}
+latexindent.pl items1.tex -local item-noAdd1.yaml
+latexindent.pl items1.tex -local item-rules1.yaml
+\end{commandshell}
+ the respective outputs are given in \cref{lst:items1-noAdd1,lst:items1-rules1}; note that in \cref{lst:items1-noAdd1}
+ that the text after each \texttt{item} has not received any additional indentation, and in \cref{lst:items1-rules1},
+ the text after each \texttt{item} has received a single space of indentation, specified by \cref{lst:item-rules1}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/items1-noAdd1.tex}{\texttt{items1.tex} using \cref{lst:item-noAdd1}}{lst:items1-noAdd1}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/items1-rules1.tex}{\texttt{items1.tex} using \cref{lst:item-rules1}}{lst:items1-rules1}
+ \end{minipage}
+
+ Alternatively, you might like to populate \texttt{noAdditionalIndentGlobal} or \texttt{indentRulesGlobal} using the \texttt{items}
+ key, as demonstrated in \cref{lst:items-noAdditionalGlobal,lst:items-indentRulesGlobal}. Note that there is a need to
+ `reset/remove' the \texttt{item} field from \texttt{indentRules} in both cases (see the hierarchy description given on \cpageref{sec:noadd-indent-rules})
+ as the \texttt{item} command is a member of \texttt{indentRules} by default.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/items-noAdditionalGlobal.yaml}[yaml-TCB]{\texttt{items-noAdditionalGlobal.yaml}}{lst:items-noAdditionalGlobal}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/items-indentRulesGlobal.yaml}[yaml-TCB]{\texttt{items-indentRulesGlobal.yaml}}{lst:items-indentRulesGlobal}
+ \end{minipage}
+
+ Upon running the following commands,
+ \begin{commandshell}
+latexindent.pl items1.tex -local items-noAdditionalGlobal.yaml
+latexindent.pl items1.tex -local items-indentRulesGlobal.yaml
+\end{commandshell}
+ the respective outputs from \cref{lst:items1-noAdd1,lst:items1-rules1} are obtained; note, however, that
+ \emph{all} such \texttt{item} commands without their own individual \texttt{noAdditionalIndent} or \texttt{indentRules}
+ settings would behave as in these listings.
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-headings.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-headings.tex
new file mode 100644
index 00000000000..7c062666978
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-headings.tex
@@ -0,0 +1,93 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{\texttt{afterHeading} code blocks}\label{subsubsec-headings-no-add-indent-rules}
+ Let's use the example \cref{lst:headings2} for demonstration throughout this \namecref{subsubsec-headings-no-add-indent-rules}.
+ As discussed on \cpageref{lst:headings1}, by default \texttt{latexindent.pl} will not add indentation after headings.
+
+ \cmhlistingsfromfile{demonstrations/headings2.tex}{\texttt{headings2.tex}}{lst:headings2}
+
+ On using the YAML file in \cref{lst:headings3yaml} by running the command
+ \begin{commandshell}
+latexindent.pl headings2.tex -l headings3.yaml
+ \end{commandshell}
+ we obtain the output in \cref{lst:headings2-mod3}. Note that the argument of \texttt{paragraph} has received (default) indentation,
+ and that the body after the heading statement has received (default) indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod3.tex}{\texttt{headings2.tex} using \cref{lst:headings3yaml}}{lst:headings2-mod3}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings3.yaml}[yaml-TCB]{\texttt{headings3.yaml}}{lst:headings3yaml}
+ \end{minipage}
+
+ If we specify \texttt{noAdditionalIndent} as in \cref{lst:headings4yaml} and run the command
+ \begin{commandshell}
+latexindent.pl headings2.tex -l headings4.yaml
+ \end{commandshell}
+ then we receive the output in \cref{lst:headings2-mod4}. Note that the arguments \emph{and} the body after the heading
+ of \texttt{paragraph} has received no additional indentation, because we have specified \texttt{noAdditionalIndent} in scalar form.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod4.tex}{\texttt{headings2.tex} using \cref{lst:headings4yaml}}{lst:headings2-mod4}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings4.yaml}[yaml-TCB]{\texttt{headings4.yaml}}{lst:headings4yaml}
+ \end{minipage}
+
+ Similarly, if we specify \texttt{indentRules} as in \cref{lst:headings5yaml} and run analogous commands to those above,
+ we receive the output in \cref{lst:headings2-mod5}; note that the \emph{body}, \emph{mandatory argument} and content
+ \emph{after the heading} of \texttt{paragraph} have \emph{all} received three tabs worth of indentation.
+
+ \begin{minipage}{.55\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod5.tex}{\texttt{headings2.tex} using \cref{lst:headings5yaml}}{lst:headings2-mod5}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.42\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings5.yaml}[yaml-TCB]{\texttt{headings5.yaml}}{lst:headings5yaml}
+ \end{minipage}
+
+ We may, instead, specify \texttt{noAdditionalIndent} in `field' form, as in \cref{lst:headings6yaml} which gives the output in \cref{lst:headings2-mod6}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod6.tex}{\texttt{headings2.tex} using \cref{lst:headings6yaml}}{lst:headings2-mod6}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings6.yaml}[yaml-TCB]{\texttt{headings6.yaml}}{lst:headings6yaml}
+ \end{minipage}
+
+ Analogously, we may specify \texttt{indentRules} as in \cref{lst:headings7yaml} which gives the output in \cref{lst:headings2-mod7};
+ note that mandatory argument text has only received a single space of indentation, while the body after the heading has
+ received three tabs worth of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod7.tex}{\texttt{headings2.tex} using \cref{lst:headings7yaml}}{lst:headings2-mod7}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings7.yaml}[yaml-TCB]{\texttt{headings7.yaml}}{lst:headings7yaml}
+ \end{minipage}
+
+ Finally, let's consider \texttt{noAdditionalIndentGlobal} and \texttt{indentRulesGlobal} shown in \cref{lst:headings8yaml,lst:headings9yaml}
+ respectively, with respective output in \cref{lst:headings2-mod8,lst:headings2-mod9}. Note that in \cref{lst:headings8yaml} the
+ \emph{mandatory argument} of \texttt{paragraph} has received a (default) tab's worth of indentation, while the body after the
+ heading has received \emph{no additional indentation}. Similarly, in \cref{lst:headings2-mod9}, the \emph{argument} has received both a
+ (default) tab plus two spaces of indentation (from the global rule specified in \cref{lst:headings9yaml}), and the remaining body
+ after \texttt{paragraph} has received just two spaces of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod8.tex}{\texttt{headings2.tex} using \cref{lst:headings8yaml}}{lst:headings2-mod8}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings8.yaml}[yaml-TCB]{\texttt{headings8.yaml}}{lst:headings8yaml}
+ \end{minipage}
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/headings2-mod9.tex}{\texttt{headings2.tex} using \cref{lst:headings9yaml}}{lst:headings2-mod9}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/headings9.yaml}[yaml-TCB]{\texttt{headings9.yaml}}{lst:headings9yaml}
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-ifelsefi.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-ifelsefi.tex
new file mode 100644
index 00000000000..5c9a37dbb22
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-ifelsefi.tex
@@ -0,0 +1,70 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{ifelsefi code blocks}
+ Let's use the simple example shown in \cref{lst:ifelsefi1}; when
+ \texttt{latexindent.pl} operates on this file, the output as in \cref{lst:ifelsefi1-default};
+ note that the body of each of the \lstinline!\if! statements have been indented,
+ and that the \lstinline!\else! statement has been accounted for correctly.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1.tex}{\texttt{ifelsefi1.tex}}{lst:ifelsefi1}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.54\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1-default.tex}{\texttt{ifelsefi1.tex} default output}{lst:ifelsefi1-default}
+ \end{minipage}
+
+ It is recommended to specify \texttt{noAdditionalIndent} and \texttt{indentRules} in the `scalar' form only
+ for these type of code blocks, although the `field' form would work, assuming that \texttt{body} was specified.
+ Examples are shown in \cref{lst:ifnum-noAdd,lst:ifnum-indent-rules}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/ifnum-noAdd.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{ifnum-noAdd.yaml}}{lst:ifnum-noAdd}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/ifnum-indent-rules.yaml}[width=.8\linewidth,before=\centering,yaml-TCB]{\texttt{ifnum-indent-rules.yaml}}{lst:ifnum-indent-rules}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl ifelsefi1.tex -local ifnum-noAdd.yaml
+latexindent.pl ifelsefi1.tex -l ifnum-indent-rules.yaml
+\end{commandshell}
+ we receive the respective output given in \cref{lst:ifelsefi1-output-noAdd,lst:ifelsefi1-output-indent-rules}; note that
+ in \cref{lst:ifelsefi1-output-noAdd}, the \texttt{ifnum} code block has \emph{not} received any additional indentation,
+ while in \cref{lst:ifelsefi1-output-indent-rules}, the \texttt{ifnum} code block has received one tab and two spaces of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1-noAdd.tex}{\texttt{ifelsefi1.tex} using \cref{lst:ifnum-noAdd}}{lst:ifelsefi1-output-noAdd}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.5\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1-indent-rules.tex}{\texttt{ifelsefi1.tex} using \cref{lst:ifnum-indent-rules}}{lst:ifelsefi1-output-indent-rules}
+ \end{minipage}
+
+ We may specify \texttt{noAdditionalIndentGlobal} and \texttt{indentRulesGlobal} as in \cref{lst:ifelsefi-noAdd-glob,lst:ifelsefi-indent-rules-global}.
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/ifelsefi-noAdd-glob.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{ifelsefi-noAdd-glob.yaml}}{lst:ifelsefi-noAdd-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/ifelsefi-indent-rules-global.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{ifelsefi-indent-rules-global.yaml}}{lst:ifelsefi-indent-rules-global}
+ \end{minipage}
+
+ Upon running the following commands
+ \begin{commandshell}
+latexindent.pl ifelsefi1.tex -local ifelsefi-noAdd-glob.yaml
+latexindent.pl ifelsefi1.tex -l ifelsefi-indent-rules-global.yaml
+\end{commandshell}
+ we receive the outputs in \cref{lst:ifelsefi1-output-noAdd-glob,lst:ifelsefi1-output-indent-rules-global}; notice that in
+ \cref{lst:ifelsefi1-output-noAdd-glob} neither of the \texttt{ifelsefi} code blocks have received indentation, while in
+ \cref{lst:ifelsefi1-output-indent-rules-global} both code blocks have received a single space of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1-noAdd-glob.tex}{\texttt{ifelsefi1.tex} using \cref{lst:ifelsefi-noAdd-glob}}{lst:ifelsefi1-output-noAdd-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/ifelsefi1-indent-rules-global.tex}{\texttt{ifelsefi1.tex} using \cref{lst:ifelsefi-indent-rules-global}}{lst:ifelsefi1-output-indent-rules-global}
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-no-add-remaining-code-blocks.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-no-add-remaining-code-blocks.tex
new file mode 100644
index 00000000000..60063fbb2b7
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-no-add-remaining-code-blocks.tex
@@ -0,0 +1,109 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{The remaining code blocks}
+ Referencing the different types of code blocks in \vref{tab:code-blocks}, we have a few
+ code blocks yet to cover; these are very similar to the \texttt{commands} code block type
+ covered comprehensively in \vref{subsubsec:commands-arguments}, but a small discussion
+ defining these remaining code blocks is necessary.
+
+ \paragraph{\texttt{keyEqualsValuesBracesBrackets}}
+ \texttt{latexindent.pl} defines this type of code block by the following criteria:
+ \begin{itemize}
+ \item it must immediately follow either \lstinline!{! OR \lstinline![! OR \lstinline!,! with comments
+ and blank lines allowed;
+ \item then it has a name made up of the characters detailed in \vref{tab:code-blocks};
+ \item then an $=$ symbol;
+ \item then at least one set of curly braces or square brackets (comments and line breaks allowed throughout).
+ \end{itemize}
+
+ An example is shown in \cref{lst:pgfkeysbefore}, with the default output given in \cref{lst:pgfkeys1:default}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/pgfkeys1.tex}{\texttt{pgfkeys1.tex}}{lst:pgfkeysbefore}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.5\textwidth}
+ \cmhlistingsfromfile{demonstrations/pgfkeys1-default.tex}{\texttt{pgfkeys1.tex} default output}{lst:pgfkeys1:default}
+ \end{minipage}%
+
+ In \cref{lst:pgfkeys1:default}, note that the maximum indentation is three tabs, and these come from:
+ \begin{itemize}
+ \item the \lstinline!\pgfkeys! command's mandatory argument;
+ \item the \lstinline!start coordinate/.initial! key's mandatory argument;
+ \item the \lstinline!start coordinate/.initial! key's body, which is defined as any lines following the name of the
+ key that include its arguments. This is the part controlled by the \emph{body} field for \texttt{noAdditionalIndent}
+ and friends from \cpageref{sec:noadd-indent-rules}.
+ \end{itemize}
+ \paragraph{\texttt{namedGroupingBracesBrackets}}
+ This type of code block is mostly motivated by tikz-based code; we define this code block as follows:
+ \begin{itemize}
+ \item it must immediately follow either \emph{horizontal space} OR \emph{one or more line breaks} OR \lstinline!{! OR \lstinline![!
+ OR \lstinline!$!;
+ \item the name may contain the characters detailed in \vref{tab:code-blocks};
+ \item then at least one set of curly braces or square brackets (comments and line breaks allowed throughout).
+ \end{itemize}
+ A simple example is given in \cref{lst:child1}, with default output in \cref{lst:child1:default}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/child1.tex}{\texttt{child1.tex}}{lst:child1}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.5\textwidth}
+ \cmhlistingsfromfile{demonstrations/child1-default.tex}{\texttt{child1.tex} default output}{lst:child1:default}
+ \end{minipage}%
+
+ In particular, \texttt{latexindent.pl} considers \texttt{child}, \texttt{parent} and \texttt{node} all to be \texttt{namedGroupingBracesBrackets}\footnote{
+ You may like to verify this by using the \texttt{-tt} option and checking \texttt{indent.log}! }.
+ Referencing \cref{lst:child1:default},
+ note that the maximum indentation is two tabs, and these come from:
+ \begin{itemize}
+ \item the \lstinline!child!'s mandatory argument;
+ \item the \lstinline!child!'s body, which is defined as any lines following the name of the \texttt{namedGroupingBracesBrackets}
+ that include its arguments. This is the part controlled by the \emph{body} field for \texttt{noAdditionalIndent}
+ and friends from \cpageref{sec:noadd-indent-rules}.
+ \end{itemize}
+
+ \paragraph{\texttt{UnNamedGroupingBracesBrackets}} occur in a variety of situations; specifically, we define
+ this type of code block as satisfying the following criteria:
+ \begin{itemize}
+ \item it must immediately follow either \lstinline!{! OR \lstinline![! OR \lstinline!,! OR \lstinline!&! OR \lstinline!)! OR \lstinline!(!
+ OR \lstinline!$!;
+ \item then at least one set of curly braces or square brackets (comments and line breaks allowed throughout).
+ \end{itemize}
+
+ An example is shown in \cref{lst:psforeach1} with default output give in \cref{lst:psforeach:default}.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/psforeach1.tex}{\texttt{psforeach1.tex}}{lst:psforeach1}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.5\textwidth}
+ \cmhlistingsfromfile{demonstrations/psforeach1-default.tex}{\texttt{psforeach1.tex} default output}{lst:psforeach:default}
+ \end{minipage}%
+
+ Referencing \cref{lst:psforeach:default}, there are \emph{three} sets of unnamed braces. Note also that the maximum value
+ of indentation is three tabs, and these come from:
+ \begin{itemize}
+ \item the \lstinline!\psforeach! command's mandatory argument;
+ \item the \emph{first} un-named braces mandatory argument;
+ \item the \emph{first} un-named braces \emph{body}, which we define as any lines following the first opening \lstinline!{! or \lstinline![!
+ that defined the code block. This is the part controlled by the \emph{body} field for \texttt{noAdditionalIndent}
+ and friends from \cpageref{sec:noadd-indent-rules}.
+ \end{itemize}
+ Users wishing to customise the mandatory and/or optional arguments on a \emph{per-name} basis for the \texttt{UnNamedGroupingBracesBrackets}
+ should use \texttt{always-un-named}.
+
+ \paragraph{\texttt{filecontents}} code blocks behave just as \texttt{environments}, except that neither arguments nor items are sought.
+
+\subsubsection{Summary}
+ Having considered all of the different types of code blocks, the functions of the fields given in
+ \cref{lst:noAdditionalIndentGlobal,lst:indentRulesGlobal} should now make sense.
+
+ \begin{widepage}
+ \begin{minipage}{.47\linewidth}
+ \cmhlistingsfromfile[firstnumber=247,linerange={247-259},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[before=\centering,yaml-TCB]{\texttt{noAdditionalIndentGlobal}}{lst:noAdditionalIndentGlobal}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{.47\linewidth}
+ \cmhlistingsfromfile[firstnumber=263,linerange={263-275},style=yaml-LST,numbers=left]{../defaultSettings.yaml}[before=\centering,yaml-TCB]{\texttt{indentRulesGlobal}}{lst:indentRulesGlobal}
+ \end{minipage}%
+ \end{widepage}
diff --git a/Master/texmf-dist/doc/support/latexindent/subsubsec-special.tex b/Master/texmf-dist/doc/support/latexindent/subsubsec-special.tex
new file mode 100644
index 00000000000..8deca581f0d
--- /dev/null
+++ b/Master/texmf-dist/doc/support/latexindent/subsubsec-special.tex
@@ -0,0 +1,60 @@
+% arara: pdflatex: {shell: yes, files: [latexindent]}
+\subsubsection{\texttt{specialBeginEnd} code blocks}
+ Let's use the example from \vref{lst:specialbefore} which has default output shown in
+ \vref{lst:specialafter}.
+
+ It is recommended to specify \texttt{noAdditionalIndent} and \texttt{indentRules} in the `scalar' form
+ for these type of code blocks, although the `field' form would work, assuming that \texttt{body} was specified.
+ Examples are shown in \cref{lst:displayMath-noAdd,lst:displayMath-indent-rules}.
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/displayMath-noAdd.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{displayMath-noAdd.yaml}}{lst:displayMath-noAdd}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/displayMath-indent-rules.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{displayMath-indent-rules.yaml}}{lst:displayMath-indent-rules}
+ \end{minipage}
+
+ After running the following commands,
+ \begin{commandshell}
+latexindent.pl special1.tex -local displayMath-noAdd.yaml
+latexindent.pl special1.tex -l displayMath-indent-rules.yaml
+\end{commandshell}
+ we receive the respective output given in \cref{lst:special1-output-noAdd,lst:special1-output-indent-rules}; note that
+ in \cref{lst:special1-output-noAdd}, the \texttt{displayMath} code block has \emph{not} received any additional indentation,
+ while in \cref{lst:special1-output-indent-rules}, the \texttt{displayMath} code block has received three tabs worth of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1-noAdd.tex}{\texttt{special1.tex} using \cref{lst:displayMath-noAdd}}{lst:special1-output-noAdd}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1-indent-rules.tex}{\texttt{special1.tex} using \cref{lst:displayMath-indent-rules}}{lst:special1-output-indent-rules}
+ \end{minipage}
+
+ We may specify \texttt{noAdditionalIndentGlobal} and \texttt{indentRulesGlobal} as in \cref{lst:special-noAdd-glob,lst:special-indent-rules-global}.
+
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/special-noAdd-glob.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{special-noAdd-glob.yaml}}{lst:special-noAdd-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.49\textwidth}
+ \cmhlistingsfromfile[style=yaml-LST]{demonstrations/special-indent-rules-global.yaml}[width=.9\linewidth,before=\centering,yaml-TCB]{\texttt{special-indent-rules-global.yaml}}{lst:special-indent-rules-global}
+ \end{minipage}
+
+ Upon running the following commands
+ \begin{commandshell}
+latexindent.pl special1.tex -local special-noAdd-glob.yaml
+latexindent.pl special1.tex -l special-indent-rules-global.yaml
+\end{commandshell}
+ we receive the outputs in \cref{lst:special1-output-noAdd-glob,lst:special1-output-indent-rules-global}; notice that in
+ \cref{lst:special1-output-noAdd-glob} neither of the \texttt{special} code blocks have received indentation, while in
+ \cref{lst:special1-output-indent-rules-global} both code blocks have received a single space of indentation.
+
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1-noAdd-glob.tex}{\texttt{special1.tex} using \cref{lst:special-noAdd-glob}}{lst:special1-output-noAdd-glob}
+ \end{minipage}
+ \hfill
+ \begin{minipage}{.45\textwidth}
+ \cmhlistingsfromfile{demonstrations/special1-indent-rules-global.tex}{\texttt{special1.tex} using \cref{lst:special-indent-rules-global}}{lst:special1-output-indent-rules-global}
+ \end{minipage}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/alignmentoutsideEnvironments.tex b/Master/texmf-dist/doc/support/latexindent/success/alignmentoutsideEnvironments.tex
deleted file mode 100644
index 04053c027a9..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/alignmentoutsideEnvironments.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-% arara: indent: {overwrite: true, trace: yes, silent: yes}
-
-\matrix{%
- %* \begin{tabular}
- & A_1 & A_2 & A_3 & A_4 & A_5 & A_6 & A_7 & A_8 & A_9 \\\hline
- A_1 & 0 & & & & & & & & \\
- A_2 & & 0 & & & & & & & \\
- A_3 & & & 0 & & & & & & \\
- A_4 & & & & 0 & & & & & \\
- A_5 & & & & & 0 & & & & \\
- A_6 & & & & & & 0 & & & \\
- A_7 & & & & & & & 0 & & \\
- A_8 & & & & & & & & 0 & \\
- A_9 & & & & & & & & & 0 \\
- %* \end{tabular}
-}
-\begin{tabular}
- & A_1 & A_2 & A_3 & A_4 & A_5 & A_6 & A_7 & A_8 & A_9 \\\hline
- &
- A_1 & 0 & & & & & & & & \\
- A_2 & & 0 & & & & & & & \\
- A_3 & & & 0 & & & & & & \\
- A_4 & & & & 0 & & & & & \\
- A_5 & & & & & 0 & & & & \\
- A_6 & & & & & & 0 & & & \\
- A_7 & & & & & & & 0 & & \\
- A_8 & & & & & & & & 0 & \\
- A_9 & & & & & & & & & 0 \\
-\end{tabular}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/bigTest.tex b/Master/texmf-dist/doc/support/latexindent/success/bigTest.tex
deleted file mode 100644
index e38913da9b3..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/bigTest.tex
+++ /dev/null
@@ -1,293 +0,0 @@
-% arara: indent: {trace: true, overwrite: yes}
-\documentclass[10pt,twoside]{report}
-\begin{document}
-
-% needed for the mini-tableofcontents
-\dominitoc
-\faketableofcontents
-
-\fancyhf{} % delete current header and footer
-\fancyhead[LE,RO]{\bfseries\thepage}
-\fancyhead[LO,RE]{\tiny\rightmark}
-\fancyheadoffset[LE,LO]{4cm}
-
-\pagestyle{fancy}
-%\include{coverpage}
-\include{functions}
-%\include{exponentialfunctions}
-%\include{functions2}
-%\include{logarithms}
-%\include{polyrat}
-%\include{ideas}
-
-%=======================
-% BEGIN SOLUTIONS
-%=======================
-
-% change the page geometry using \newgeometry
-%\cleardoublepage
-\clearpage
-%\setbool{@twoside}{false}
-\fancyheadoffset[RE,RO]{2cm}
-\fancyheadoffset[LE,LO]{1cm}
-\renewcommand{\rightmark}{Solutions to Section \thesection}
-\fancyhead[LO,RE]{\rightmark}
-\newgeometry{left=4cm,right=4cm,showframe=true,
- marginratio=1:1,
- top=1.5cm,bottom=1.5cm,bindingoffset=0cm}
-
-% finish the php file
-\Writetofile{crossrefsWEB}{?>}
-
-% close the solutions files
-\Closesolutionfile{shortsolutions}
-\Closesolutionfile{longsolutions}
-%\Closesolutionfile{hints}
-\Closesolutionfile{crossrefsWEB}
-
-% when itemized lists are used in the solutions, they
-% are actually at 2nd depth because the solution environment
-% uses an \itemize environment to get the indendation correct
-\setlist[itemize,2]{label=\textbullet}
-
-% SHORT solution to problem (show only odd, even, all)
-% Note: this renewenvironment needs to go here
-% so that the answers package can still
-% display correctly to the page if needed
-\newbool{oddproblemnumber}
-\renewenvironment{shortSoln}[1]{%
- \exploregroups % needed to ignore {}
- % before the environment starts - this is a stretchable space
- \vskip 0.1cm plus 2cm minus 0.1cm%
- \fullexpandarg % need this line so that '.' are counted
- %
- % either problems, or subproblems, e.g: 3.1 or 3.1.4 respectively
- % determine which one by counting the '.'
- \StrCount{#1}{.}[\numberofdecimals]
- %
- % find the problem number by splitting the string
- \ifnumequal{\numberofdecimals}{0}%
- {%
- % problems, such as 4, 5, 6, ...
- \def\problemnumber{#1}%
- }%
- {}%
- \ifnumequal{\numberofdecimals}{1}%
- {%
- % subproblems, such as 4.3, 1.2, 10.5
- \StrBefore{#1}{.}[\problemnumber]%
- }%
- {}%
- \ifnumequal{\numberofdecimals}{2}%
- {%
- % subproblems such as 1.3.1, 1.2.4, 7.5.6
- % note that these aren't currently used, but maybe someday
- \StrBehind{#1}{.}[\newbit]%
- \StrBefore{\newbit}{.}[\problemnumber]%
- }%
- {}%
- %
- % determine if the problem number is odd or even
- % and depending on our choices above, display or not
- \ifnumodd{\problemnumber}%
- {%
- % set a boolean that says the problem number is odd (used later)
- \setbool{oddproblemnumber}{true}%
- % display or not
- \ifbool{showoddsolns}%
- {%
- % if we want to show the odd problems
- \ifbool{coreproblemYesNo}%
- {% Core problem
- \expandafter\itemize[label=\llap{$\bigstar$ }\bfseries \hyperlink{prob:#1:\thechapter:\thesection}{#1}.]\item%
- }%
- {% NOT Core problem
- \expandafter\itemize[label=\bfseries \hyperlink{prob:#1:\thechapter:\thesection}{#1}.]\item%
- }%
- }%
- {%
- % otherwise don't show them!
- \expandafter\comment%
- }%
- }%
- {%
- % even numbered problem, set the boolean (used later)
- \setbool{oddproblemnumber}{false}%
- \ifbool{showevensolns}%
- {%
- % if we want to show the even problems
- \ifbool{coreproblemYesNo}%
- {% Core problem
- \expandafter\itemize[label=\llap{$\bigstar$ }\itshape \hyperlink{prob:#1:\thechapter:\thesection}{#1}.]\item%
- }%
- {% NOT Core problem
- \expandafter\itemize[label=\itshape \hyperlink{prob:#1:\thechapter:\thesection}{#1}.]\item%
- }%
- }%
- {%
- % otherwise don't show them!
- \expandafter\comment%
- }%
- }%
-}%
-{%
- % after the environment finishes
- \ifbool{oddproblemnumber}%
- {%
- % odd numbered problems
- \ifbool{showoddsolns}%
- {%
- % if we want to show the odd problems
- % then the environment is finished
- \enditemize%
- }%
- {%
- % otherwise we need to finish the comment
- \expandafter\endcomment%
- }%
- }%
- {%
- % even numbered problems
- \ifbool{showevensolns}%
- {%
- % if we want to show the even problems
- % then the environment is finished
- \enditemize%
- }%
- {%
- % otherwise we need to finish the comment
- \expandafter\endcomment%
- }%
- }%
-}
-
-% LONG solution to problem (show only odd, even, all)
-% Note: this renewenvironment needs to go here
-% so that the answers package can still
-% display correctly to the page if needed
-\renewenvironment{longSoln}[1]{%
- \exploregroups % needed to ignore {}
- % before the environment starts - this is a stretchable space
- \vskip 0.1cm plus 2cm minus 0.1cm%
- \fullexpandarg % need this line so that '.' are counted
- %
- % either problems, or subproblems, e.g: 3.1 or 3.1.4 respectively
- % determine which one by counting the '.'
- \StrCount{#1}{.}[\numberofdecimals]
- %
- % find the problem number by splitting the string
- \ifnumequal{\numberofdecimals}{0}%
- {%
- % problems, such as 4, 5, 6, ...
- \def\problemnumber{#1}%
- }%
- {}%
- \ifnumequal{\numberofdecimals}{1}%
- {%
- % problems, such as 4.3, 1.2, 10.5
- \StrBefore{#1}{.}[\problemnumber]%
- }%
- {}%
- \ifnumequal{\numberofdecimals}{2}%
- {%
- % subproblems such as 1.3.1, 1.2.4, 7.5.6
- \StrBehind{#1}{.}[\newbit]%
- \StrBefore{\newbit}{.}[\problemnumber]%
- }%
- {}%
- %
- % determine if the problem number is odd or even
- % and depending on our choices above, display or not
- \ifnumodd{\problemnumber}%
- {%
- % set a boolean that says the problem number is odd (used later)
- \setbool{oddproblemnumber}{true}%
- % display or not
- \ifbool{showoddsolns}%
- {%
- % if we want to show the odd problems
- {\bfseries \hyperlink{prob:#1:\thechapter:\thesection}{#1}.}%
- }%
- {%
- % otherwise don't show them!
- \expandafter\comment%
- }%
- }%
- {%
- % even numbered problem, set the boolean (used later)
- \setbool{oddproblemnumber}{false}%
- \ifbool{showevensolns}%
- {%
- % if we want to show the even problems
- {\itshape \hyperlink{prob:#1:\thechapter:\thesection}{#1}.}%
- }%
- {%
- % otherwise don't show them!
- \expandafter\comment%
- }%
- }%
-}%
-{%
- % after the environment finishes
- \ifbool{oddproblemnumber}%
- {%
- % odd numbered problems
- \ifbool{showoddsolns}%
- {%
- % if we want to show the odd problems
- % then the environment is finished
- }%
- {%
- % otherwise we need to finish the comment
- \expandafter\endcomment%
- }%
- }%
- {%
- % even numbered problems
- \ifbool{showevensolns}%
- {%
- % if we want to show the even problems
- % then the environment is finished
- }%
- {%
- % otherwise we need to finish the comment
- \expandafter\endcomment%
- }%
- }%
-}
-
-% renew tikzpicture environment to make it use valign=t
-% on every one, which fixes vertical alignment of tikzpicture
-% with the solution label: http://tex.stackexchange.com/questions/30367/aligning-enumerate-labels-to-top-of-image
-\BeforeBeginEnvironment{tikzpicture}{\begin{adjustbox}{valign=t}}
-\AfterEndEnvironment{tikzpicture}{\end{adjustbox}}
-
-% do the same for the tabular environment
-\BeforeBeginEnvironment{tabular}{\begin{adjustbox}{valign=t}}
-\AfterEndEnvironment{tabular}{\end{adjustbox}}
-
-% set every picture in the solutions to have \solutionfigurewidth
-\pgfplotsset{
- every axis/.append style={%
- width=\solutionfigurewidth}}
-
-% input the SHORT solutions file
-\IfFileExists{shortsolutions.tex}{\input{shortsolutions.tex}}{}
-
-\clearpage
-% input the LONG solutions file
-%\IfFileExists{longsolutions.tex}{\input{longsolutions.tex}}{}
-
-\clearpage
-% input the HINTS file
-%\IfFileExists{hints.tex}{\input{hints.tex}}{}
-%=======================
-% END SOLUTIONS
-%=======================
-
-%=======================
-% INDEX
-%=======================
-\printindex
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/braceTest.tex b/Master/texmf-dist/doc/support/latexindent/success/braceTest.tex
deleted file mode 100644
index b389b436602..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/braceTest.tex
+++ /dev/null
@@ -1,57 +0,0 @@
-% arara: indent: { overwrite: on}
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }
- }%
- %---------------------------------------------------------------------------
-}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }
-}}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
-}}}
-
-some other text
-some other text
-some other text
-
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }}
-}
-
-some other text
-some other text
-some other text
-
-\parbox{
- \begin{something}
-
- \end{something}
-}
-
-some other text
-some other text
-some other text
diff --git a/Master/texmf-dist/doc/support/latexindent/success/braceTestsmall.tex b/Master/texmf-dist/doc/support/latexindent/success/braceTestsmall.tex
deleted file mode 100644
index 38b7f495db6..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/braceTestsmall.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-% arara: indent: {trace: on, overwrite: on}
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep }%
- }%
- %---------------------------------------------------------------------------
-}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep }}%
-}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={\someothercommand{here}%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep }}}
-
-some other text
-some other text
-some other text
diff --git a/Master/texmf-dist/doc/support/latexindent/success/bracketTest.tex b/Master/texmf-dist/doc/support/latexindent/success/bracketTest.tex
deleted file mode 100644
index 34cf9df16fb..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/bracketTest.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-\cmh[
- here is some text
-]
-\cmh{
- here is some text
-}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/conditional.tex b/Master/texmf-dist/doc/support/latexindent/success/conditional.tex
deleted file mode 100644
index 9a857e0af64..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/conditional.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-% arara: indent: {overwrite: yes}
-% add these lines to a localSettings.yaml file
-%constructIfElseFi:
-% if@isu@draftcls@: 1
-\newif\if@isu@draftcls@
-\if@isu@draftcls@
- \RequirePackage[firstpage]{draftwatermark}
- \RequirePackage{datetime}
- \newcommand{\isu@draftfooter}{DRAFT --- rendered \today\ at \currenttime}
-\else
- \newcommand{\isu@draftfooter}{}
-\fi
diff --git a/Master/texmf-dist/doc/support/latexindent/success/environments.tex b/Master/texmf-dist/doc/support/latexindent/success/environments.tex
deleted file mode 100644
index 986474dca79..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/environments.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-% arara: indent: { cruft: /home/cmhughes/Desktop/tmp/, overwrite: on, trace: yes, silent: yes, onlyDefault: no}
-some
-other
-text
-\begin{enumerate}
- \item $3x^3y(-4x^3+y) = -12x^6y+3x^3y^2$
- \item $3x^3+y(-4x^3+y) = 3x^3-4x^3y+y^2$
- \item
- \begin{align*}
- {\color{red}(3x^3+y)}(-4x^3+y) & = {\color{red}(3x^3+y)}(-4x^3)+{\color{red}(3x^3+y)}(y) \\
- & = -12x^6-4x^3y+3x^3y+y^2 \\
- & = -12x^6-x^3y+y^2
- \end{align*}
-\end{enumerate}
-\begin{enumerate}
- \item $3x^3y(-4x^3+y) = -12x^6y+3x^3y^2$
- \item $3x^3+y(-4x^3+y) = 3x^3-4x^3y+y^2$
- \item
- \begin{align*}
- {\color{red}(3x^3+y)}(-4x^3+y) & = {\color{red}(3x^3+y)}(-4x^3)+{\color{red}(3x^3+y)}(y) \\
- & = -12x^6-4x^3y+3x^3y+y^2 \\
- & = -12x^6-x^3y+y^2
- \end{align*}
-\end{enumerate}
-
-\begin{something}
- \begin{else}
- again
- \end{else}
-\end{something}
-no
-environments
-here
-\[ x^2+ 3x\]
-other text
-\[
- x^2+ 3x
-\]
-other text
diff --git a/Master/texmf-dist/doc/support/latexindent/success/figureValign.tex b/Master/texmf-dist/doc/support/latexindent/success/figureValign.tex
deleted file mode 100644
index 8c2bc33281a..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/figureValign.tex
+++ /dev/null
@@ -1,124 +0,0 @@
-% arara: pdflatex
-% !arara: indent: {overwrite: yes}
-\documentclass{article}
-\usepackage{lipsum}
-\usepackage{graphicx}
-\usepackage{environ}
-\usepackage[showframe=true]{geometry}
-
-\newsavebox{\vabox}
-
-\NewEnviron{verticallyaligned}{%
- % temporarily set \vamaxheight to nothing during the measurements
- \let\vamaxheight\relax
- % measure the height of the body
- \begin{lrbox}{\vabox}
- \BODY%
- \end{lrbox}%
- % set the height of the minipage box
- \newlength{\vamaxheight}
- \setlength{\vamaxheight}{\ht\vabox}
- % output the body, which now contains the new height :)
- \noindent\makebox[\linewidth][c]{\mbox{}\hfill\BODY\hfill\mbox{}}%
-}
-
-\begin{document}
-
-\sbox{\vabox}{%
- \begin{minipage}[b][][b]{.10\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-a}
- \end{minipage}%
- \begin{minipage}[b][][t]{.15\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-b}
- \end{minipage}%
- \begin{minipage}[b][][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-c}
- \end{minipage}%
- \begin{minipage}[b][][c]{.10\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \end{minipage}%
- \begin{minipage}[b][][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \end{minipage}%
-}%
-
-\noindent
-\begin{minipage}[b][\ht\vabox][b]{.10\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-a}
-\end{minipage}%
-\hfill
-\begin{minipage}[b][\ht\vabox][t]{.15\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-b}
-\end{minipage}%
-\hfill
-\begin{minipage}[b][\ht\vabox][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-c}
-\end{minipage}%
-\hfill
-\begin{minipage}[b][\ht\vabox][c]{.10\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
-\end{minipage}%
-\hfill
-\begin{minipage}[b][\ht\vabox][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
-\end{minipage}%
-\par\lipsum
-
-
-\begin{verticallyaligned}
- \noindent\begin{minipage}[b][\vamaxheight][b]{.30\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-a}
- \end{minipage}%
- \hfill
- \begin{minipage}[b][\vamaxheight][t]{.10\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-b}
- \end{minipage}%
- \hfill
- \begin{minipage}[b][\vamaxheight][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image-c}
- \end{minipage}%
- \hfill
- \begin{minipage}[b][\vamaxheight][c]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \end{minipage}%
- \hfill
- \begin{minipage}[b][\vamaxheight][t]{.20\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \end{minipage}%
-\end{verticallyaligned}
-
-\lipsum[1]
-
-\begin{figure}
- \begin{verticallyaligned}
- \noindent\begin{minipage}[b][\vamaxheight][c]{.50\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \caption{}
- \end{minipage}%
- \hfill
- \begin{minipage}[b][\vamaxheight][t]{.40\textwidth}
- \centering
- \includegraphics[width=\textwidth]{example-image}
- \caption{}
- \end{minipage}%
- \end{verticallyaligned}
- \caption{}
-\end{figure}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/filecontents.tex b/Master/texmf-dist/doc/support/latexindent/success/filecontents.tex
deleted file mode 100644
index ccc35c32684..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/filecontents.tex
+++ /dev/null
@@ -1,73 +0,0 @@
-% arara: indent: {overwrite: true, trace: false, localSettings: yes}
-
-% used with localSettings.yaml as follows
-%indentPreamble: 1
-%indentRules:
-% @online: "\t\t\t\t"
-% #myenvironment: "\t\t"
-% myotherenvironment: "\t\t"
-% \[: "\t\t"
-% tabular: "\t\t\t"
-%noAdditionalIndent:
-% @online: 0
-% myotherenvironment: 1
-% \[: 0
-% \]: 0
-% tabular: 0
-% something: 0
-% parbox: 1
-%verbatimEnvironments:
-% myotherenvironment: 1
-% tabular: 0
-% someothername: 0
-
-
-% \begin{noindent}
-here we are in a block
-% \end{noindent}
-some more
-\begin{tabular}{cccc}
- 1 & 2 & 3 & 4 \\
- 5 & & 6 & \\
-\end{tabular}
-
-another test
-\begin{tabular}{cccc}
- 1 & 2 & 3 & 4 \\
- 5 & & 6 & \\
-\end{tabular}
-
-\begin{something}
- \parbox{something
- else
- goes
- here
- }
- some text some text
- some text some text
- some text some text
- \[
- x^2+2x
- \]
- some text some text
- some text some text
- some text some text
- some text some text
- some text some text
-\end{something}
-\begin{filecontents}{mybib.bib}
- @online{strawberryperl,
- title="Strawberry Perl",
- url="http://strawberryperl.com/"}
- @online{cmhblog,
- title="A Perl script for indenting tex files",
- url="http://tex.blogoverflow.com/2012/08/a-perl-script-for-indenting-tex-files/"}
-\end{filecontents}
-
-\begin{myotherenvironment}
- some text goes here
- some text goes here
- some text goes here
- some text goes here
-\end{myotherenvironment}
-
diff --git a/Master/texmf-dist/doc/support/latexindent/success/filecontents1.tex b/Master/texmf-dist/doc/support/latexindent/success/filecontents1.tex
deleted file mode 100644
index 46e501ebaa0..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/filecontents1.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-% arara: indent: {overwrite: true, trace: false, localSettings: yes}
-
-\documentclass{article}
-\begin{filecontents}{mybib.bib}
- \begin{document}
- here is some text
- \end{document}
-\end{filecontents}
-
-\begin{document}
-\begin{myotherenvironment}
- some text goes here
- some text goes here
- some text goes here
- some text goes here
-\end{myotherenvironment}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/filecontents2.tex b/Master/texmf-dist/doc/support/latexindent/success/filecontents2.tex
deleted file mode 100644
index 54307023361..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/filecontents2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-% arara: indent: {overwrite: true, trace: false, localSettings: yes}
-
-\documentclass{article}
-\usepackage{verbatim}
-\begin{filecontents}{mybib.bib}
- \begin{document}
- here is some text
- \end{document}
-\end{filecontents}
-
-\begin{document}
-
-\begin{verbatim}
-\begin{filecontents}{mybib.bib}
- \begin{document}
- here is some text
- \end{document}
- \end{filecontents}
-\end{verbatim}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/ifelsefi.tex b/Master/texmf-dist/doc/support/latexindent/success/ifelsefi.tex
deleted file mode 100644
index 389985acaed..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/ifelsefi.tex
+++ /dev/null
@@ -1,103 +0,0 @@
-% !arara: pdflatex
-% arara: indent: {overwrite: yes, trace: yes, localSettings: yes}
-\documentclass{report}
-\usepackage{etoolbox}
-\usepackage{pgfplots}
-\usepackage{lipsum}
-
-\makeatletter
-\newcommand{\totalchapters}[1]{%
- \@ifundefined{c@totalchapters}
- {%
- \newcounter{totalchapters}
- \setcounter{totalchapters}{#1}
- \typeout{Defining a new counter: totalchapters (#1)}
- }%
- {%
- \ifodd\value{totalchapters}=#1
- \typeout{Total Chapters match auxilary file (#1)}
- \else
- \typeout{Warning: total Chapter count updated from \the\value{totalchapters} to #1-- recompile to fix}
- \fi
- \setcounter{totalchapters}{#1}
- }%
-}
-\newcommand{\definetotalpagecount}[2]{%
- \@ifundefined{c@totalpages\@roman{#1}}%
- {%
- \newcounter{totalpages\@roman{#1}}
- \setcounter{totalpages\@roman{#1}}{#2}
- \typeout{Defining a new counter: totalpages\@roman{#1}}
- }%
- {%
- \ifnum\value{totalpages\@roman{#1}}=#2
- \typeout{Total pages for Chapter #1 match auxilary file (#2)}
- \else
- \typeout{Warning: total pages for Chapter #1 updated from \the\value{totalpages\@roman{#1}} to #2-- recompile to fix}
- \fi
- \setcounter{totalpages\@roman{#1}}{#2}
- }%
-}
-
-
-\preto\chapter{%
- \ifnum\value{chapter}>0
- \immediate\write\@auxout{%
- \string\definetotalpagecount\string{\thechapter\string}\string{\the\value{page}\string}
- }
- \fi
-}
-
-\AtEndDocument{%
- \immediate\write\@auxout{%
- \string\definetotalpagecount\string{\thechapter\string}\string{\the\value{page}\string}
- \string\totalchapters\string{\thechapter\string}%
- }
-}
-
-\newcommand{\drawPageChart}{%
- \begin{tikzpicture}
- \begin{axis}[
- xbar stacked,
- xmin=-0.1,
- %ymin=0,ymax=1,
- bar width=40pt,
- nodes near coords,
- axis lines=none,
- nodes near coords align={horizontal},
- visualization depends on=x \as \myxcoord,
- nodes near coords={\pgfmathprintnumber\myxcoord},
- every node near coord/.append style={
- anchor=east},
- ]
- \@ifundefined{c@totalchapters}
- {}
- {%
- \foreach \i in {1,...,\thetotalchapters}{%
- \addplot coordinates {(\the\value{totalpages\@roman{\i}},0)};
- }
- }
- \end{axis}
- \end{tikzpicture}
-}
-\begin{document}
-
-\begin{figure}[!htb]
- \centering
- \drawPageChart
- \caption{Blueprint of my thesis}
-\end{figure}
-
-
-\chapter{}
- \lipsum
-\chapter{}
- \lipsum
- \lipsum
-\chapter{}
- \lipsum
- \lipsum
- \lipsum
- \lipsum
- \lipsum
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/ifelsefiONE.tex b/Master/texmf-dist/doc/support/latexindent/success/ifelsefiONE.tex
deleted file mode 100644
index 0d3c4f39322..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/ifelsefiONE.tex
+++ /dev/null
@@ -1,43 +0,0 @@
-% arara: indent: {overwrite: yes, trace: yes}
-\documentclass[tikz]{standalone}
-\usepackage{tikz}
-\usetikzlibrary{decorations.pathmorphing,decorations.shapes}
-
-\begin{document}
-
-\foreach \radius in {1,2,...,20}
-{
- \begin{tikzpicture}
- % background rectangle
- \filldraw[black] (-3,-3) rectangle (5,3);
- % skyline
- \filldraw[black!80!blue](-3,-3)--(-3,-2)--(-2.5,-2)--(-2.5,-1)--(-2.25,-1)--(-2.25,-2)--(-2,-2)
- --(-2,-1)--(-1.75,-0.75)--(-1.5,-1)
- --(-1.5,-2)--(-1.1,-2)--(-1.1,0)--(-0.5,0)--(-0.5,-2)
- --(0,-2)--(0,-1.5)--(1,-1.5)--(1.25,-0.5)--(1.5,-1.5)--(1.5,-2)
- --(2,-2)--(2,0)--(2.5,0)--(2.5,-2)
- --(3,-2)--(3,-1)--(4,-1)--(4,-2)--(5,-2)--(5,-3)--cycle;
- % moon- what a hack!
- \filldraw[white] (4,2.5) arc (90:-90:20pt);
- \filldraw[black] (3.8,2.5) arc (90:-90:20pt);
- % fireworks
- \pgfmathparse{100-(\radius-1)*10};
- % red firework
- \ifnum\radius<11
- \draw[decorate,decoration={crosses},red!\pgfmathresult!black] (0,0) circle (\radius ex);
- \fi
- % orange firework
- \pgfmathparse{100-(\radius-6)*10};
- \ifnum\radius>5
- \ifnum\radius<16
- \draw[decorate,decoration={crosses},orange!\pgfmathresult!black] (1,1) circle ( \radius ex-5ex);
- \fi
- \fi
- % yellow firework
- \pgfmathparse{100-(\radius-11)*10};
- \ifnum\radius>10
- \draw[decorate,decoration={crosses},yellow!\pgfmathresult!black] (2.5,1) circle (\radius ex-10ex);
- \fi
- \end{tikzpicture}
-}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/ifelsefiSmall.tex b/Master/texmf-dist/doc/support/latexindent/success/ifelsefiSmall.tex
deleted file mode 100644
index f4b4bad3e64..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/ifelsefiSmall.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\ifnum\radius>5
- \ifnum\radius<16
- \draw[decorate,decoration={crosses},orange!\pgfmathresult!black] (1,1) circle ( \radius ex-5ex);
- \fi
-\fi
-\ifnum
- 1
-\else
- 2
-\fi
diff --git a/Master/texmf-dist/doc/support/latexindent/success/items1.tex b/Master/texmf-dist/doc/support/latexindent/success/items1.tex
deleted file mode 100644
index 29be75d5fdc..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/items1.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\begin{itemize}
- \item one
- here is some text
- here is some text
- here is some text
- \item two
- here is some text
- here is some text
- here is some text
-\end{itemize}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/items2.tex b/Master/texmf-dist/doc/support/latexindent/success/items2.tex
deleted file mode 100644
index 76d70b95729..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/items2.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\begin{enumerate}
- \item one
- here is some text
- here is some text
- here is some text
- \item two
- here is some text
- here is some text
- here is some text
- \begin{itemize}
- \item bullet
- here is some text
- here is some text
- here is some text
- \item bullet
- here is some text
- here is some text
- here is some text
- \end{itemize}
- some text
-\end{enumerate}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/items3.tex b/Master/texmf-dist/doc/support/latexindent/success/items3.tex
deleted file mode 100644
index 30460f40e72..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/items3.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\begin{myenv}
- \begin{itemize}
- \item one
- here is some text
- here is some text
- here is some text
- \item two
- here is some text
- here is some text
- here is some text
- \end{itemize}
-\end{myenv}
-\begin{itemize}
-\item one
- here is some text
- here is some text
- here is some text
-\item two
- here is some text
- here is some text
- here is some text
-\end{itemize}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/items4.tex b/Master/texmf-dist/doc/support/latexindent/success/items4.tex
deleted file mode 100644
index 49383c47e1a..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/items4.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\begin{myenv}
-\begin{itemize}
-\item one
- here is some text
- here is some text
- here is some text
-\item two
- here is some text
- here is some text
- here is some text
-\end{itemize}
-\end{myenv}
-\begin{itemize}
-\item one
- here is some text
- here is some text
- here is some text
-\item two
- here is some text
- here is some text
- here is some text
-\end{itemize}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/matrix.tex b/Master/texmf-dist/doc/support/latexindent/success/matrix.tex
deleted file mode 100644
index 79c959e1ba2..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/matrix.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-% arara: indent: {overwrite: true, trace: true}
-\[
- \begin{matrix}[cc|cccccc|c]
- & & & & & & {\color{blue}\downarrow} & {\color{blue}\downarrow} & S \\\hline
- & 6 & {\color{red}\newmoon} & & & & & & {\color{red}\leftarrow} \\
- {\color{blue}*} & 5 & & & & & & {\color{blue}\newmoon} & \\
- & 4 & & & & {\color{red}\newmoon} & & & {\color{red}\leftarrow} \\
- & 3 & & {\color{red}\newmoon} & & & & & {\color{red}\leftarrow} \\
- & 2 & & & \fullmoon & & & & \\
- {\color{blue}*} & 1 & & & & & {\color{blue}\newmoon} & & \\\hline
- & & 1 & 2 & 3 & 4 & 5 & 6 & \\
- \% & & {\color{red}*} & {\color{red}*} & & {\color{red}*} & & &
- \end{matrix}
-\]
diff --git a/Master/texmf-dist/doc/support/latexindent/success/multipleBraces.tex b/Master/texmf-dist/doc/support/latexindent/success/multipleBraces.tex
deleted file mode 100644
index 63a2967dab3..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/multipleBraces.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-% arara: indent: {overwrite: yes, trace: on}
-\xapptocmd{\tableofcontents}{%
- \end{singlespace}%
- \pagestyle{plain}%
- \clearpage}{}{}
-
-\xapptocmd{\tableofcontents}{%
- \end{singlespace}%
- \pagestyle{plain}%
- \clearpage}{}{}
-
-\xapptocmd{\tableofcontents}{%
- \end{singlespace}%
- \pagestyle{plain}%
- \clearpage}{}{}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/nestedalignment.tex b/Master/texmf-dist/doc/support/latexindent/success/nestedalignment.tex
deleted file mode 100644
index 6578b4f4e00..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/nestedalignment.tex
+++ /dev/null
@@ -1,33 +0,0 @@
-% arara: indent: { overwrite: on, trace: yes}
-\begin{tabular}{p{3cm}|c|p{8cm}}
- Example & Choice & Why \\ \hline \hline
- \(
- \left\{
- \begin{array}{rl}
- x+y & =6 \\
- 2x+y & =8
- \end{array}
- \right.
- \)
- & Substitution {\em or }Addition & Because it is easy to solve for $x$ in the 1st equation
- {\em or}
- Because it is easy to multiply the first equation by -1 \\ \hline
- \(
- \left\{
- \begin{array}{rl}
- 3x-7y & =13 \\
- 6x+5y & =7
- \end{array}
- \right.
- \)
- & Addition & Because there is no obvious way to use substitution \\ \hline
- \(
- \left\{
- \begin{array}{rl}
- x-7y & =13 \\
- 6x+5y & =7
- \end{array}
- \right.
- \)
- & Substitution & Because the first equation can easily be solved for one of the variables
-\end{tabular}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/nestedalignment1.tex b/Master/texmf-dist/doc/support/latexindent/success/nestedalignment1.tex
deleted file mode 100644
index 9a19ca8da43..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/nestedalignment1.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-% arara: indent: { overwrite: on, silent: no, trace: yes}
-\begin{tabular}{p{3cm}|c|p{8cm}}
- x+y & = & 6 \\
- 2x+y & \&\%=8 % \% &
- \%\&\%\% & & \\ % & & 2x+y & =8
- x+y & = & 6 \\
- 2x+y & =8
- 2x+y \&\& & = & 8 % trailine comment
-\end{tabular}
-
-here's another line $\{ x^2 + 5x \}$
-\begin{minipage}{\textwidth}
- content
- content
- content
- content
- content
-\end{minipage}\\[3cm]
-\begin{minipage}{\textwidth}
- content
- content
- content
- content
- content
-\end{minipage}\\[3cm]
diff --git a/Master/texmf-dist/doc/support/latexindent/success/outputfile.tex b/Master/texmf-dist/doc/support/latexindent/success/outputfile.tex
deleted file mode 100644
index aac040a48c7..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/outputfile.tex
+++ /dev/null
@@ -1,57 +0,0 @@
-% arara: indent: { overwrite: yes}
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }
- }%
- %---------------------------------------------------------------------------
-}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }
-}}
-
-some other text
-some other text
-some other text
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
-}}}
-
-some other text
-some other text
-some other text
-
-
-\hypersetup{%
- pdfstartview={%
- FitH \hypercalcbp{\paperheight-\topmargin-0in
- -\headheight-\headsep
- }}
-}
-
-some other text
-some other text
-some other text
-
-\parbox{
- \begin{something}
-
- \end{something}
-}
-
-some other text
-some other text
-some other text
diff --git a/Master/texmf-dist/doc/support/latexindent/success/preamble.tex b/Master/texmf-dist/doc/support/latexindent/success/preamble.tex
deleted file mode 100644
index 749e9819c20..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/preamble.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-% arara: indent: {trace: on, overwrite: yes}
-\documentclass[10pt,twoside]{report}
-\newenvironment{widepage}{\begin{adjustwidth}{-\offsetpage}{}%
- \addtolength{\textwidth}{\offsetpage}}%
-{\end{adjustwidth}}
-
-% Define fix command
-% - it puts a comment in the margin
-% - it writes to a file with a list of things that need fixing
-\newcommand{\fixthis}[1]
-{%
- \marginpar{\huge \color{red} \framebox{FIX}}%
- \typeout{FIXTHIS: p\thepage : #1^^J}%
-}
-
-% Define pccname command
-% - it writes to the log file with a detail of the name-
-% this is useful for tracking names for diversity purposes
-\newcommand{\pccname}[1]
-{%
- #1%
- \typeout{PCCNAME: p\thepage : #1}%
-}
-
-\begin{document}
-
-some text
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/pstricks1.tex b/Master/texmf-dist/doc/support/latexindent/success/pstricks1.tex
deleted file mode 100644
index ff55548b6c7..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/pstricks1.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass[pstricks]{standalone}
-\usepackage{pstricks,multido}
-
-\def\Bottle#1{{\pscustom[linewidth=2pt]{%
- \rotate{#1}
- \psline(-1,3.5)(-1,4)(1,4)(1,3.5)
- \pscurve(3,2)(1,0)\psline(-1,0)
- \pscurve(-3,2)(-1,3.5)}}}
-
-\def\BottleWithWater(#1)#2{%
- \rput[c]{#2}(#1){%
- \rput{*0}(0,0){%
- \psclip{\Bottle{#2}}
- \psframe*[linecolor=gray](-6,-2)(6,2)
- \endpsclip}\rput{*0}(0,0){\Bottle{#2}}}}
-
-\begin{document}
-
-\multido{\iA=-45+5}{19}{%
- \begin{pspicture}(-2.5,-0.5)(6,5.5)
- \BottleWithWater(1.5,1){\iA}
- \end{pspicture}
-}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/pstricks2.tex b/Master/texmf-dist/doc/support/latexindent/success/pstricks2.tex
deleted file mode 100644
index 7690da820e7..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/pstricks2.tex
+++ /dev/null
@@ -1,68 +0,0 @@
-% arara: indent: {overwrite: true, trace: true, localSettings: off}
-\documentclass[pstricks,border=12pt]{standalone}
-\usepackage{pst-eucl}
-\usepackage[nomessages]{fp}
-
-\definecolor{myblue}{RGB}{37,111,197}
-\definecolor{mybrown}{RGB}{211,200,134}
-
-\def\rOne{0.75}
-\def\rTwo{0.75}
-\def\tOne{20}
-\def\tTwo{-45}
-\FPset\RowMaxIndex{4}% because zero based index
-\FPset\ColMaxIndex{4}% because zero based index
-
-
-\psset
-{
- PointName=none,
- PointSymbol=none,
- fillstyle=solid,
- linejoin=1,
-}
-
-\def\Bar(#1,#2)#3{%
- \rput(!#2 \rTwo\space mul \tTwo\space PtoC){%
- \rput(!#1 \rOne\space mul \tOne\space 180 add PtoC){%
- \pstGeonode{O}(\rOne;\tOne){One}(\rTwo;\tTwo){Two}
- \pstTranslation{O}{Two}{One}[Three]
- \pnode(0,\stripH){O'}
- \pstTranslation{O}{O'}{One,Two,Three}
- \pnode(0,#3){O''}
- \pstTranslation{O}{O''}{One,Two,Three}[One'',Two'',Three'']
- \psset{fillcolor=mybrown}
- \pspolygon(O'')(O)(Two)(Two'')
- \pspolygon(Two'')(Two)(Three)(Three'')
- \pspolygon(One'')(O'')(Two'')(Three'')
- \psset{fillcolor=myblue,opacity=0.75,linestyle=none,linewidth=0}
- \FPifeq{#1}{\RowMaxIndex}\pspolygon(O')(O)(Two)(Two')\fi
- \FPifeq{#2}{\ColMaxIndex}\pspolygon(Two')(Two)(Three)(Three')\fi
- \FPiflt{#3}{\stripH}\pspolygon(One')(O')(Two')(Three')\fi
- }%
- }%
-}
-
-\newcount\OuterIndex
-\def\SaveListContents#1\relax{\def\Contents{#1}}
-
-\def\Picture#1{%
- \def\stripH{#1}%
- \begin{pspicture}[showgrid=false](-2.5,-3.35)(3.05,3.05)
- \psforeach{\row}{%
- {{3,2.8,2.7,3,3.1}},% <=== Only this row must use double curly braces. It is a feature!
- {2.8,1,1.2,2,3},%
- {2.8,1,1.2,2,2.8},%
- {2.6,1.6,1.8,1.9,1.8},%
- {2.4,1.5,1.7,1.9,1.5}%
- }{%
- \expandafter\SaveListContents\row\relax
- \OuterIndex=\psLoopIndex\relax
- \psforeach{\col}{\Contents}{\Bar(\the\OuterIndex,\the\psLoopIndex){\col}}%
- \psLoopIndex=\OuterIndex\relax
- }
- \end{pspicture}}
-
-\begin{document}
-\multido{\n=0.0+0.2}{17}{\Picture{\n}}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/pstricks3.tex b/Master/texmf-dist/doc/support/latexindent/success/pstricks3.tex
deleted file mode 100644
index 09c132f5c73..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/pstricks3.tex
+++ /dev/null
@@ -1,49 +0,0 @@
-% arara: indent: {overwrite: yes}
-\documentclass[pstricks,border=12pt]{standalone}
-\usepackage{pst-node}
-\addtopsstyle{gridstyle}{gridlabels=0pt,strokeopacity=.25}
-
-\begin{document}
-\begin{pspicture}[showgrid=top](8,8)
- \multips(0,.5)(0,1){8}{%
- \multips(.5,0)(1,0){8}{%
- \psline[linecolor=red](6pt;-135)(6pt;45)
- \psline[linecolor=red](6pt;135)(6pt;-45)}}
- \pscustom
- [
- dimen=middle,
- fillstyle=eovlines*,
- fillcolor=white,
- hatchcolor=blue,
- linecolor=blue,
- ]
- {
- \psframe(8,8)
- \pspolygon
- (3,1)
- (3,4)
- (1,4)
- (1,6)
- (2,6)
- (2,7)
- (7,7)
- (7,4)
- (6,4)
- (6,6)
- (5,6)
- (5,4)
- (6,4)
- (6,3)
- (7,3)
- (7,1)
- (6,1)
- (6,2)
- (5,2)
- (5,1)
- }
- \psset{linecolor=blue,nodesep=7pt}
- \pscircle*(4,2){2pt}
- \pscircle*(4,3){2pt}
- \pcline(4,2)(4,3)
-\end{pspicture}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/sampleAFTER.tex b/Master/texmf-dist/doc/support/latexindent/success/sampleAFTER.tex
deleted file mode 100644
index b1f37474fe0..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/sampleAFTER.tex
+++ /dev/null
@@ -1,5819 +0,0 @@
-% arara: indent: {overwrite: yes}
-% A sample chapter file- it contains a lot of
-% environments, including tabulars, align, etc
-%
-% Don't try and compile this file using pdflatex etc, just
-% compare the *format* of it to the format of the
-% sampleAFTER.tex
-%
-% In particular, compare the tabular and align-type
-% environments before and after running the script
-
-\section{Polynomial functions}
- \reformatstepslist{P} % the steps list should be P1, P2, \ldots
- In your previous mathematics classes you have studied \emph{linear} and
- \emph{quadratic} functions. The most general forms of these types of
- functions can be represented (respectively) by the functions $f$
- and $g$ that have formulas
- \begin{equation}\label{poly:eq:linquad}
- f(x)=mx+b, \qquad g(x)=ax^2+bx+c
- \end{equation}
- We know that $m$ is the slope of $f$, and that $a$ is the \emph{leading coefficient}
- of $g$. We also know that the \emph{signs} of $m$ and $a$ completely
- determine the behavior of the functions $f$ and $g$. For example, if $m>0$
- then $f$ is an \emph{increasing} function, and if $m<0$ then $f$ is
- a \emph{decreasing} function. Similarly, if $a>0$ then $g$ is
- \emph{concave up} and if $a<0$ then $g$ is \emph{concave down}. Graphical
- representations of these statements are given in \cref{poly:fig:linquad}.
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{.2\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$m>0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{-(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$m<0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a>0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{-(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a<0$}
- \end{subfigure}
- \caption{Typical graphs of linear and quadratic functions.}
- \label{poly:fig:linquad}
- \end{figure}
-
- Let's look a little more closely at the formulas for $f$ and $g$ in
- \cref{poly:eq:linquad}. Note that the \emph{degree}
- of $f$ is $1$ since the highest power of $x$ that is present in the
- formula for $f(x)$ is $1$. Similarly, the degree of $g$ is $2$ since
- the highest power of $x$ that is present in the formula for $g(x)$
- is $2$.
-
- In this section we will build upon our knowledge of these elementary
- functions. In particular, we will generalize the functions $f$ and $g$ to a function $p$ that has
- any degree that we wish.
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{essentialskills}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Quadratic functions]
- Every quadratic function has the form $y=ax^2+bx+c$; state the value
- of $a$ for each of the following functions, and hence decide if the
- parabola that represents the function opens upward or downward.
- \begin{multicols}{2}
- \begin{subproblem}
- $F(x)=x^2+3$
- \begin{shortsolution}
- $a=1$; the parabola opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $G(t)=4-5t^2$
- \begin{shortsolution}
- $a=-5$; the parabola opens downward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $H(y)=4y^2-96y+8$
- \begin{shortsolution}
- $a=4$; the parabola opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $K(z)=-19z^2$
- \begin{shortsolution}
- $m=-19$; the parabola opens downward.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- Now let's generalize our findings for the most general quadratic function $g$
- that has formula $g(x)=a_2x^2+a_1x+a_0$. Complete the following sentences.
- \begin{subproblem}
- When $a_2>0$, the parabola that represents $y=g(x)$ opens $\ldots$
- \begin{shortsolution}
- When $a_2>0$, the parabola that represents the function opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- When $a_2<0$, the parabola that represents $y=g(x)$ opens $\ldots$
- \begin{shortsolution}
- When $a_2<0$, the parabola that represents the function opens downward.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{essentialskills}
-
- \subsection*{Power functions with positive exponents}
- The study of polynomials will rely upon a good knowledge
- of power functions| you may reasonably ask, what is a power function?
- \begin{pccdefinition}[Power functions]
- Power functions have the form
- \[
- f(x) = a_n x^n
- \]
- where $n$ can be any real number.
-
- Note that for this section we will only be concerned with the
- case when $n$ is a positive integer.
- \end{pccdefinition}
-
- You may find assurance in the fact that you are already very comfortable
- with power functions that have $n=1$ (linear) and $n=2$ (quadratic). Let's
- explore some power functions that you might not be so familiar with.
- As you read \cref{poly:ex:oddpow,poly:ex:evenpow}, try and spot
- as many patterns and similarities as you can.
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Power functions with odd positive exponents]
- \label{poly:ex:oddpow}
- Graph each of the following functions, state their domain, and their
- long-run behavior as $x\rightarrow\pm\infty$
- \[
- f(x)=x^3, \qquad g(x)=x^5, \qquad h(x)=x^7
- \]
- \begin{pccsolution}
- The functions $f$, $g$, and $h$ are plotted in \cref{poly:fig:oddpow}.
- The domain of each of the functions $f$, $g$, and $h$ is $(-\infty,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- f(x)\rightarrow\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow-\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same results hold for $g$ and $h$.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-1.5,xmax=1.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,1.0},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=north west,
- ]
- \addplot expression[domain=-1.5:1.5]{x^3};
- \addplot expression[domain=-1.379:1.379]{x^5};
- \addplot expression[domain=-1.258:1.258]{x^7};
- \addplot[soldot]coordinates{(-1,-1)} node[axisnode,anchor=north west]{$(-1,-1)$};
- \addplot[soldot]coordinates{(1,1)} node[axisnode,anchor=south east]{$(1,1)$};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
- \caption{Odd power functions}
- \label{poly:fig:oddpow}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2.5,xmax=2.5,
- ymin=-5,ymax=5,
- xtick={-2.0,-1.5,...,2.0},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=south east,
- ]
- \addplot expression[domain=-2.236:2.236]{x^2};
- \addplot expression[domain=-1.495:1.495]{x^4};
- \addplot expression[domain=-1.307:1.307]{x^6};
- \addplot[soldot]coordinates{(-1,1)} node[axisnode,anchor=east]{$(-1,1)$};
- \addplot[soldot]coordinates{(1,1)} node[axisnode,anchor=west]{$(1,1)$};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
- \caption{Even power functions}
- \label{poly:fig:evenpow}
- \end{minipage}%
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Power functions with even positive exponents]\label{poly:ex:evenpow}%
- Graph each of the following functions, state their domain, and their
- long-run behavior as $x\rightarrow\pm\infty$
- \[
- F(x)=x^2, \qquad G(x)=x^4, \qquad H(x)=x^6
- \]
- \begin{pccsolution}
- The functions $F$, $G$, and $H$ are plotted in \cref{poly:fig:evenpow}. The domain
- of each of the functions is $(-\infty,\infty)$. Note that the long-run behavior
- of each of the functions is the same, and in particular
- \begin{align*}
- F(x)\rightarrow\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} F(x)\rightarrow\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same result holds for $G$ and $H$.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{doyouunderstand}
- \begin{problem}
- Repeat \cref{poly:ex:oddpow,poly:ex:evenpow} using (respectively)
- \begin{subproblem}
- $f(x)=-x^3, \qquad g(x)=-x^5, \qquad h(x)=-x^7$
- \begin{shortsolution}
- The functions $f$, $g$, and $h$ have domain $(-\infty,\infty)$ and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-1.5,xmax=1.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,0.5},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-1.5:1.5]{-x^3};
- \addplot expression[domain=-1.379:1.379]{-x^5};
- \addplot expression[domain=-1.258:1.258]{-x^7};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- f(x)\rightarrow-\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same is true for $g$ and $h$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $F(x)=-x^2, \qquad G(x)=-x^4, \qquad H(x)=-x^6$
- \begin{shortsolution}
- The functions $F$, $G$, and $H$ have domain $(-\infty,\infty)$ and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2.5,xmax=2.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,0.5},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-2.236:2.236]{-x^2};
- \addplot expression[domain=-1.495:1.495]{-x^4};
- \addplot expression[domain=-1.307:1.307]{-x^6};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- F(x)\rightarrow-\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} F(x)\rightarrow-\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same is true for $G$ and $H$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{doyouunderstand}
-
- \subsection*{Polynomial functions}
- Now that we have a little more familiarity with power functions,
- we can define polynomial functions. Provided that you were comfortable
- with our opening discussion about linear and quadratic functions (see
- $f$ and $g$ in \cref{poly:eq:linquad}) then there is every chance
- that you'll be able to master polynomial functions as well; just remember
- that polynomial functions are a natural generalization of linear
- and quadratic functions. Once you've studied the examples and problems
- in this section, you'll hopefully agree that polynomial functions
- are remarkably predictable.
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccdefinition}[Polynomial functions]
- Polynomial functions have the form
- \[
- p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0
- \]
- where $a_n$, $a_{n-1}$, $a_{n-2}$, \ldots, $a_0$ are real numbers.
- \begin{itemize}
- \item We call $n$ the degree of the polynomial, and require that $n$
- is a non-negative integer;
- \item $a_n$, $a_{n-1}$, $a_{n-2}$, \ldots, $a_0$ are called the coefficients;
- \item We typically write polynomial functions in descending powers of $x$.
- \end{itemize}
- In particular, we call $a_n$ the \emph{leading} coefficient, and $a_nx^n$ the
- \emph{leading term}.
-
- Note that if a polynomial is given in factored form, then the degree can be found
- by counting the number of linear factors.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Polynomial or not]
- Identify the following functions as polynomial or not; if the function
- is a polynomial, state its degree.
- \begin{multicols}{3}
- \begin{enumerate}
- \item $p(x)=x^2-3$
- \item $q(x)=-4x^{\nicefrac{1}{2}}+10$
- \item $r(x)=10x^5$
- \item $s(x)=x^{-2}+x^{23}$
- \item $f(x)=-8$
- \item $g(x)=3^x$
- \item $h(x)=\sqrt[3]{x^7}-x^2+x$
- \item $k(x)=4x(x+2)(x-3)$
- \item $j(x)=x^2(x-4)(5-x)$
- \end{enumerate}
- \end{multicols}
- \begin{pccsolution}
- \begin{enumerate}
- \item $p$ is a polynomial, and its degree is $2$.
- \item $q$ is \emph{not} a polynomial, because $\frac{1}{2}$ is not an integer.
- \item $r$ is a polynomial, and its degree is $5$.
- \item $s$ is \emph{not} a polynomial, because $-2$ is not a positive integer.
- \item $f$ is a polynomial, and its degree is $0$.
- \item $g$ is \emph{not} a polynomial, because the independent
- variable, $x$, is in the exponent.
- \item $h$ is \emph{not} a polynomial, because $\frac{7}{3}$ is not an integer.
- \item $k$ is a polynomial, and its degree is $3$.
- \item $j$ is a polynomial, and its degree is $4$.
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Typical graphs]\label{poly:ex:typical}
- \Cref{poly:fig:typical} shows graphs of some polynomial functions;
- the ticks have deliberately been left off the axis to allow us to concentrate
- on the features of each graph. Note in particular that:
- \begin{itemize}
- \item \cref{poly:fig:typical1} shows a degree-$1$ polynomial (you might also
- classify the function as linear) whose leading coefficient, $a_1$, is positive.
- \item \cref{poly:fig:typical2} shows a degree-$2$ polynomial (you might also
- classify the function as quadratic) whose leading coefficient, $a_2$, is positive.
- \item \cref{poly:fig:typical3} shows a degree-$3$ polynomial whose leading coefficient, $a_3$,
- is positive| compare its overall
- shape and long-run behavior to the functions described in \cref{poly:ex:oddpow}.
- \item \cref{poly:fig:typical4} shows a degree-$4$ polynomial whose leading coefficient, $a_4$,
- is positive|compare its overall shape and long-run behavior to the functions described in \cref{poly:ex:evenpow}.
- \item \cref{poly:fig:typical5} shows a degree-$5$ polynomial whose leading coefficient, $a_5$,
- is positive| compare its overall
- shape and long-run behavior to the functions described in \cref{poly:ex:oddpow}.
- \end{itemize}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{\textwidth/6}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_1>0$}
- \label{poly:fig:typical1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_2>0$}
- \label{poly:fig:typical2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-7.5:7.5]{0.05*(x+6)*x*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_3>0$}
- \label{poly:fig:typical3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-2.35:5.35,samples=100]{0.2*(x-5)*x*(x-3)*(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_4>0$}
- \label{poly:fig:typical4}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-5.5:6.3,samples=100]{0.01*(x+2)*x*(x-3)*(x+5)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_5>0$}
- \label{poly:fig:typical5}
- \end{subfigure}
- \end{widepage}
- \caption{Graphs to illustrate typical curves of polynomial functions.}
- \label{poly:fig:typical}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{doyouunderstand}
- \begin{problem}
- Use \cref{poly:ex:typical} and \cref{poly:fig:typical} to help you sketch
- the graphs of polynomial functions that have negative leading coefficients| note
- that there are many ways to do this! The intention with this problem
- is to use your knowledge of transformations- in particular, \emph{reflections}-
- to guide you.
- \begin{shortsolution}
- $a_1<0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{-(x+2)};
- \end{axis}
- \end{tikzpicture}
-
- $a_2<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{-(x^2-6)};
- \end{axis}
- \end{tikzpicture}
-
- $a_3<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-7.5:7.5]{-0.05*(x+6)*x*(x-6)};
- \end{axis}
- \end{tikzpicture}
-
- $a_4<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-2.35:5.35,samples=100]{-0.2*(x-5)*x*(x-3)*(x+2)};
- \end{axis}
- \end{tikzpicture}
-
- $a_5<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-5.5:6.3,samples=100]{-0.01*(x+2)*x*(x-3)*(x+5)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{problem}
- \end{doyouunderstand}
-
- \fixthis{poly: Need a more basic example here- it can have a similar
- format to the multiple zeros example, but just keep it simple; it should
- be halfway between the 2 examples surrounding it}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Multiple zeros]
- Consider the polynomial functions $p$, $q$, and $r$ which are
- graphed in \cref{poly:fig:moremultiple}.
- The formulas for $p$, $q$, and $r$ are as follows
- \begin{align*}
- p(x) & =(x-3)^2(x+4)^2 \\
- q(x) & =x(x+2)^2(x-1)^2(x-3) \\
- r(x) & =x(x-3)^3(x+1)^2
- \end{align*}
- Find the degree of $p$, $q$, and $r$, and decide if the functions bounce off or cut
- through the horizontal axis at each of their zeros.
- \begin{pccsolution}
- The degree of $p$ is 4. Referring to \cref{poly:fig:bouncep},
- the curve bounces off the horizontal axis at both zeros, $3$ and $4$.
-
- The degree of $q$ is 6. Referring to \cref{poly:fig:bounceq},
- the curve bounces off the horizontal axis at $-2$ and $1$, and cuts
- through the horizontal axis at $0$ and $3$.
-
- The degree of $r$ is 6. Referring to \cref{poly:fig:bouncer},
- the curve bounces off the horizontal axis at $-1$, and cuts through
- the horizontal axis at $0$ and at $3$, although is flattened immediately to the left and right of $3$.
- \end{pccsolution}
- \end{pccexample}
-
- \setlength{\figurewidth}{0.25\textwidth}
- \begin{figure}[!htb]
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-6,xmax=5,
- ymin=-30,ymax=200,
- xtick={-4,-2,...,4},
- width=\textwidth,
- ]
- \addplot expression[domain=-5.63733:4.63733,samples=50]{(x-3)^2*(x+4)^2};
- \addplot[soldot]coordinates{(3,0)(-4,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=p(x)$}
- \label{poly:fig:bouncep}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-3,xmax=4,
- xtick={-2,...,3},
- ymin=-60,ymax=40,
- width=\textwidth,
- ]
- \addplot+[samples=50] expression[domain=-2.49011:3.11054]{x*(x+2)^2*(x-1)^2*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(0,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=q(x)$}
- \label{poly:fig:bounceq}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-2,xmax=4,
- xtick={-1,...,3},
- ymin=-40,ymax=40,
- width=\textwidth,
- ]
- \addplot expression[domain=-1.53024:3.77464,samples=50]{x*(x-3)^3*(x+1)^2};
- \addplot[soldot]coordinates{(-1,0)(0,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=r(x)$}
- \label{poly:fig:bouncer}
- \end{subfigure}
- \caption{}
- \label{poly:fig:moremultiple}
- \end{figure}
-
- \begin{pccdefinition}[Multiple zeros]\label{poly:def:multzero}
- Let $p$ be a polynomial that has a repeated linear factor $(x-a)^n$. Then we say
- that $p$ has a multiple zero at $a$ of multiplicity $n$ and
- \begin{itemize}
- \item if the factor $(x-a)$ is repeated an even number of times, the graph of $y=p(x)$ does not
- cross the $x$ axis at $a$, but `bounces' off the horizontal axis at $a$.
- \item if the factor $(x-a)$ is repeated an odd number of times, the graph of $y=p(x)$ crosses the
- horizontal axis at $a$, but it looks `flattened' there
- \end{itemize}
- If $n=1$, then we say that $p$ has a \emph{simple} zero at $a$.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Find a formula]
- Find formulas for the polynomial functions, $p$ and $q$, graphed in \cref{poly:fig:findformulademoboth}.
- \begin{figure}[!htb]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- minor xtick={-3,-1,...,3},
- ytick={-8,-6,...,8},
- width=\textwidth,
- grid=both]
- \addplot expression[domain=-3.25842:2.25842,samples=50]{-x*(x-2)*(x+3)*(x+1)};
- \addplot[soldot]coordinates{(1,8)}node[axisnode,inner sep=.35cm,anchor=west]{$(1,8)$};
- \addplot[soldot]coordinates{(-3,0)(-1,0)(0,0)(2,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$p$}
- \label{poly:fig:findformulademo}
- \end{subfigure}
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- minor xtick={-3,-1,...,3},
- ytick={-8,-6,...,8},
- width=\textwidth,
- grid=both]
- \addplot expression[domain=-4.33:4.08152]{-.25*(x+2)^2*(x-3)};
- \addplot[soldot]coordinates{(2,4)}node[axisnode,anchor=south west]{$(2,4)$};
- \addplot[soldot]coordinates{(-2,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$q$}
- \label{poly:fig:findformulademo1}
- \end{subfigure}
- \caption{}
- \label{poly:fig:findformulademoboth}
- \end{figure}
- \begin{pccsolution}
- \begin{enumerate}
- \item We begin by noting that the horizontal intercepts of $p$ are $(-3,0)$, $(-1,0)$, $(0,0)$ and $(2,0)$.
- We also note that each zero is simple (multiplicity $1$).
- If we assume that $p$ has no other zeros, then we can start by writing
- \begin{align*}
- p(x) & =(x+3)(x+1)(x-0)(x-2) \\
- & =x(x+3)(x+1)(x-2) \\
- \end{align*}
- According to \cref{poly:fig:findformulademo}, the point $(1,8)$ lies
- on the curve $y=p(x)$.
- Let's check if the formula we have written satisfies this requirement
- \begin{align*}
- p(1) & = (1)(4)(2)(-1) \\
- & = -8
- \end{align*}
- which is clearly not correct| it is close though. We can correct this by
- multiplying $p$ by a constant $k$; so let's assume that
- \[
- p(x)=kx(x+3)(x+1)(x-2)
- \]
- Then $p(1)=-8k$, and if this is to equal $8$, then $k=-1$. Therefore
- the formula for $p(x)$ is
- \[
- p(x)=-x(x+3)(x+1)(x-2)
- \]
- \item The function $q$ has a zero at $-2$ of multiplicity $2$, and zero of
- multiplicity $1$ at $3$ (so $3$ is a simple zero of $q$); we can therefore assume that $q$ has the form
- \[
- q(x)=k(x+2)^2(x-3)
- \]
- where $k$ is some real number. In order to find $k$, we use the given ordered pair, $(2,4)$, and
- evaluate $p(2)$
- \begin{align*}
- p(2) & =k(4)^2(-1) \\
- & =-16k
- \end{align*}
- We solve the equation $4=-8k$ and obtain $k=-\frac{1}{4}$ and conclude that the
- formula for $q(x)$ is
- \[
- q(x)=-\frac{1}{4}(x+2)^2(x-3)
- \]
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
-
- \fixthis{Chris: need sketching polynomial problems}
- \begin{pccspecialcomment}[Steps to follow when sketching polynomial functions]
- \begin{steps}
- \item \label{poly:step:first} Determine the degree of the polynomial,
- its leading term and leading coefficient, and hence determine
- the long-run behavior of the polynomial| does it behave like $\pm x^2$ or $\pm x^3$
- as $x\rightarrow\pm\infty$?
- \item Determine the zeros and their multiplicity. Mark all zeros
- and the vertical intercept on the graph using solid circles $\bullet$.
- \item \label{poly:step:last} Deduce the overall shape of the curve, and sketch it. If there isn't
- enough information from the previous steps, then construct a table of values.
- \end{steps}
- Remember that until we have the tools of calculus, we won't be able to
- find the exact coordinates of local minimums, local maximums, and points
- of inflection.
- \end{pccspecialcomment}
- Before we demonstrate some examples, it is important to remember the following:
- \begin{itemize}
- \item our sketches will give a good representation of the overall
- shape of the graph, but until we have the tools of calculus (from MTH 251)
- we can not find local minimums, local maximums, and inflection points algebraically. This
- means that we will make our best guess as to where these points are.
- \item we will not concern ourselves too much with the vertical scale (because of
- our previous point)| we will, however, mark the vertical intercept (assuming there is one),
- and any horizontal asymptotes.
- \end{itemize}
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{poly:ex:simplecubic}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $p$
- that has formula
- \[
- p(x)=\frac{1}{2}(x-4)(x-1)(x+3)
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $p$ has degree $3$. The leading term of $p$ is $\frac{1}{2}x^3$, so the leading coefficient of $p$
- is $\frac{1}{2}$. The long-run behavior of $p$ is therefore similar to that of $x^3$.
- \item The zeros of $p$ are $-3$, $1$, and $4$; each zero is simple (i.e, it has multiplicity $1$).
- This means that the curve of $p$ cuts the horizontal axis at each zero. The vertical
- intercept of $p$ is $(0,6)$.
- \item We draw the details we have obtained so far on \cref{poly:fig:simplecubicp1}. Given
- that the curve of $p$ looks like the curve of $x^3$ in the long-run, we are able to complete a sketch of the
- graph of $p$ in \cref{poly:fig:simplecubicp2}.
-
- Note that we can not find the coordinates of the local minimums, local maximums, and inflection
- points| for the moment we make reasonable guesses as to where these points are (you'll find how
- to do this in calculus).
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=15,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(1,0)(4,0)(0,6)}node[axisnode,anchor=south west]{$(0,6)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:simplecubicp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=15,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(1,0)(4,0)(0,6)}node[axisnode,anchor=south west]{$(0,6)$};
- \addplot[pccplot] expression[domain=-3.57675:4.95392,samples=100]{.5*(x-4)*(x-1)*(x+3)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:simplecubicp2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{2}(x-4)(x-1)(x+3)$}
- \label{poly:fig:simplecubic}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{poly:ex:degree5}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $q$
- that has formula
- \[
- q(x)=\frac{1}{200}(x+7)^2(2-x)(x-6)^2
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $q$ has degree $4$. The leading term of $q$ is
- \[
- -\frac{1}{200}x^5
- \]
- so the leading coefficient of $q$ is $-\frac{1}{200}$. The long-run behavior of $q$
- is therefore similar to that of $-x^5$.
- \item The zeros of $q$ are $-7$ (multiplicity 2), $2$ (simple), and $6$ (multiplicity $2$).
- The curve of $q$ bounces off the horizontal axis at the zeros with multiplicity $2$ and
- cuts the horizontal axis at the simple zeros. The vertical intercept of $q$ is $\left( 0,\frac{441}{25} \right)$.
- \item We mark the details we have found so far on \cref{poly:fig:degree5p1}. Given that
- the curve of $q$ looks like the curve of $-x^5$ in the long-run, we can complete \cref{poly:fig:degree5p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=40,
- xtick={-8,-6,...,8},
- ytick={-5,0,...,35},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-7,0)(2,0)(6,0)(0,441/25)}node[axisnode,anchor=south west]{$\left( 0, \frac{441}{25} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree5p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=40,
- xtick={-8,-6,...,8},
- ytick={-5,0,...,35},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-7,0)(2,0)(6,0)(0,441/25)}node[axisnode,anchor=south west]{$\left( 0, \frac{441}{25} \right)$};
- \addplot[pccplot] expression[domain=-8.83223:7.34784,samples=50]{1/200*(x+7)^2*(2-x)*(x-6)^2};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree5p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{200}(x+7)^2(2-x)(x-6)^2$}
- \label{poly:fig:degree5}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $r$
- that has formula
- \[
- r(x)=\frac{1}{100}x^3(x+4)(x-4)(x-6)
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $r$ has degree $6$. The leading term of $r$ is
- \[
- \frac{1}{100}x^6
- \]
- so the leading coefficient of $r$ is $\frac{1}{100}$. The long-run behavior of $r$
- is therefore similar to that of $x^6$.
- \item The zeros of $r$ are $-4$ (simple), $0$ (multiplicity $3$), $4$ (simple),
- and $6$ (simple). The vertical intercept of $r$ is $(0,0)$. The curve of $r$
- cuts the horizontal axis at the simple zeros, and goes through the axis
- at $(0,0)$, but does so in a flattened way.
- \item We mark the zeros and vertical intercept on \cref{poly:fig:degree6p1}. Given that
- the curve of $r$ looks like the curve of $x^6$ in the long-run, we complete the graph
- of $r$ in \cref{poly:fig:degree6p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=10,
- ymin=-20,ymax=10,
- xtick={-4,-2,...,8},
- ytick={-15,-10,...,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,0)(4,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree6p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=10,
- ymin=-20,ymax=10,
- xtick={-4,-2,...,8},
- ytick={-15,-10,...,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,0)(4,0)(6,0)};
- \addplot[pccplot] expression[domain=-4.16652:6.18911,samples=100]{1/100*(x+4)*x^3*(x-4)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree6p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{100}(x+4)x^3(x-4)(x-6)$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[An open-topped box]
- A cardboard company makes open-topped boxes for their clients. The specifications
- dictate that the box must have a square base, and that it must be open-topped.
- The company uses sheets of cardboard that are $\unit[1200]{cm^2}$. Assuming that
- the base of each box has side $x$ (measured in cm), it can be shown that the volume of each box, $V(x)$,
- has formula
- \[
- V(x)=\frac{x}{4}(1200-x^2)
- \]
- Find the dimensions of the box that maximize the volume.
- \begin{pccsolution}
- We graph $y=V(x)$ in \cref{poly:fig:opentoppedbox}. Note that because
- $x$ represents the length of a side, and $V(x)$ represents the volume
- of the box, we necessarily require both values to be positive; we illustrate
- the part of the curve that applies to this problem using a solid line.
-
- \begin{figure}[!htb]
- \centering
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-50,xmax=50,
- ymin=-5000,ymax=5000,
- xtick={-40,-30,...,40},
- minor xtick={-45,-35,...,45},
- minor ytick={-3000,-1000,1000,3000},
- width=.75\textwidth,
- height=.5\textwidth,
- grid=both]
- \addplot[pccplot,dashed,<-] expression[domain=-40:0,samples=50]{x/4*(1200-x^2)};
- \addplot[pccplot,-] expression[domain=0:34.64,samples=50]{x/4*(1200-x^2)};
- \addplot[pccplot,dashed,->] expression[domain=34.64:40,samples=50]{x/4*(1200-x^2)};
- \addplot[soldot] coordinates{(20,4000)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=V(x)$}
- \label{poly:fig:opentoppedbox}
- \end{figure}
-
- According to \cref{poly:fig:opentoppedbox}, the maximum volume of such a box is
- approximately $\unit[4000]{cm^2}$, and we achieve it using a base of length
- approximately $\unit[20]{cm}$. Since the base is square and each sheet of cardboard
- is $\unit[1200]{cm^2}$, we conclude that the dimensions of each box are $\unit[20]{cm}\times\unit[20]{cm}\times\unit[30]{cm}$.
- \end{pccsolution}
- \end{pccexample}
-
- \subsection*{Complex zeros}
- There has been a pattern to all of the examples that we have seen so far|
- the degree of the polynomial has dictated the number of \emph{real} zeros that the
- polynomial has. For example, the function $p$ in \cref{poly:ex:simplecubic}
- has degree $3$, and $p$ has $3$ real zeros; the function $q$ in \cref{poly:ex:degree5}
- has degree $5$ and $q$ has $5$ real zeros.
-
- You may wonder if this result can be generalized| does every polynomial that
- has degree $n$ have $n$ real zeros? Before we tackle the general result,
- let's consider an example that may help motivate it.
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}\label{poly:ex:complx}
- Consider the polynomial function $c$ that has formula
- \[
- c(x)=x(x^2+1)
- \]
- It is clear that $c$ has degree $3$, and that $c$ has a (simple) zero at $0$. Does
- $c$ have any other zeros, i.e, can we find any values of $x$ that satisfy the equation
- \begin{equation}\label{poly:eq:complx}
- x^2+1=0
- \end{equation}
- The solutions to \cref{poly:eq:complx} are $\pm i$.
-
- We conclude that $c$ has $3$ zeros: $0$ and $\pm i$; we note that \emph{not
- all of them are real}.
- \end{pccexample}
- \Cref{poly:ex:complx} shows that not every degree-$3$ polynomial has $3$
- \emph{real} zeros; however, if we are prepared to venture into the complex numbers,
- then we can state the following theorem.
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccspecialcomment}[The fundamental theorem of algebra]
- Every polynomial function of degree $n$ has $n$ roots, some of which may
- be complex, and some may be repeated.
- \end{pccspecialcomment}
- \fixthis{Fundamental theorem of algebra: is this wording ok? do we want
- it as a theorem?}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}
- Find all the zeros of the polynomial function $p$ that has formula
- \[
- p(x)=x^4-2x^3+5x^2
- \]
- \begin{pccsolution}
- We begin by factoring $p$
- \begin{align*}
- p(x) & =x^4-2x^3+5x^2 \\
- & =x^2(x^2-2x+5)
- \end{align*}
- We note that $0$ is a zero of $p$ with multiplicity $2$. The other zeros of $p$
- can be found by solving the equation
- \[
- x^2-2x+5=0
- \]
- This equation can not be factored, so we use the quadratic formula
- \begin{align*}
- x & =\frac{2\pm\sqrt{(-2)^2}-20}{2(1)} \\
- & =\frac{2\pm\sqrt{-16}}{2} \\
- & =1\pm 2i
- \end{align*}
- We conclude that $p$ has $4$ zeros: $0$ (multiplicity $2$), and $1\pm 2i$ (simple).
- \end{pccsolution}
- \end{pccexample}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}
- Find a polynomial that has zeros at $2\pm i\sqrt{2}$.
- \begin{pccsolution}
- We know that the zeros of a polynomial can be found by analyzing the linear
- factors. We are given the zeros, and have to work backwards to find the
- linear factors.
-
- We begin by assuming that $p$ has the form
- \begin{align*}
- p(x) & =(x-(2-i\sqrt{2}))(x-(2+i\sqrt{2})) \\
- & =x^2-x(2+i\sqrt{2})-x(2-i\sqrt{2})+(2-i\sqrt{2})(2+i\sqrt{2}) \\
- & =x^2-4x+(4-2i^2) \\
- & =x^2-4x+6
- \end{align*}
- We conclude that a possible formula for a polynomial function, $p$,
- that has zeros at $2\pm i\sqrt{2}$ is
- \[
- p(x)=x^2-4x+6
- \]
- Note that we could multiply $p$ by any real number and still ensure
- that $p$ has the same zeros.
- \end{pccsolution}
- \end{pccexample}
- \investigation*{}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a graph]
- For each of the polynomials in \cref{poly:fig:findformula}
- \begin{enumerate}
- \item count the number of times the curve turns round, and cuts/bounces off the $x$ axis;
- \item approximate the degree of the polynomial;
- \item use your information to find the linear factors of each polynomial, and therefore write a possible formula for each;
- \item make sure your polynomial goes through the given ordered pair.
- \end{enumerate}
- \begin{shortsolution}
- \Vref{poly:fig:findformdeg2}:
- \begin{enumerate}
- \item the curve turns round once;
- \item the degree could be 2;
- \item based on the zeros, the linear factors are $(x+5)$ and $(x-3)$; since the
- graph opens downwards, we will assume the leading coefficient is negative: $p(x)=-k(x+5)(x-3)$;
- \item $p$ goes through $(2,2)$, so we need to solve $2=-k(7)(-1)$ and therefore $k=\nicefrac{2}{7}$, so
- \[
- p(x)=-\frac{2}{7}(x+5)(x-3)
- \]
- \end{enumerate}
- \Vref{poly:fig:findformdeg3}:
- \begin{enumerate}
- \item the curve turns around twice;
- \item the degree could be 3;
- \item based on the zeros, the linear factors are $(x+2)^2$, and $(x-1)$;
- based on the behavior of $p$, we assume that the leading coefficient is positive, and try $p(x)=k(x+2)^2(x-1)$;
- \item $p$ goes through $(0,-2)$, so we need to solve $-2=k(4)(-1)$ and therefore $k=\nicefrac{1}{2}$, so
- \[
- p(x)=\frac{1}{2}(x+2)^2(x-1)
- \]
- \end{enumerate}
- \Vref{poly:fig:findformdeg5}:
- \begin{enumerate}
- \item the curve turns around 4 times;
- \item the degree could be 5;
- \item based on the zeros, the linear factors are $(x+5)^2$, $(x+1)$, $(x-2)$, $(x-3)$;
- based on the behavior of $p$, we assume that the leading coefficient is positive, and try $p(x)=k(x+5)^2(x+1)(x-2)(x-3)$;
- \item $p$ goes through $(-3,-50)$, so we need to solve $-50=k(64)(-2)(-5)(-6)$ and therefore $k=\nicefrac{5}{384}$, so
- \[
- p(x)=\frac{5}{384}(x+5)^2(x+1)(x-2)(x-3)
- \]
- \end{enumerate}
- \end{shortsolution}
- \end{problem}
-
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-2,ymax=5,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.5:3.75]{-1/3*(x+4)*(x-3)};
- \addplot[soldot] coordinates{(-4,0)(3,0)(2,2)} node[axisnode,above right]{$(2,2)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-3,xmax=2,
- ymin=-2,ymax=4,
- xtick={-2,...,1},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.95:1.75]{1/3*(x+2)^2*(x-1)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(0,-1.33)}node[axisnode,anchor=north west]{$(0,-2)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-100,ymax=150,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.5:3.4,samples=50]{(x+4)^2*(x+1)*(x-2)*(x-3)};
- \addplot[soldot]coordinates{(-4,0)(-1,0)(2,0)(3,0)(-3,-60)}node[axisnode,anchor=north]{$(-3,-50)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg5}
- \end{subfigure}
- \caption{}
- \label{poly:fig:findformula}
- \end{figure}
-
-
-
-
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Prerequisite classifacation skills]
- Decide if each of the following functions are linear or quadratic.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x)=2x+3$
- \begin{shortsolution}
- $f$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x)=10-7x$
- \begin{shortsolution}
- $g$ is linear
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x)=-x^2+3x-9$
- \begin{shortsolution}
- $h$ is quadratic.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x)=-17$
- \begin{shortsolution}
- $k$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(x)=-82x^2-4$
- \begin{shortsolution}
- $l$ is quadratic
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(x)=6^2x-8$
- \begin{shortsolution}
- $m$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Prerequisite slope identification]
- State the slope of each of the following linear functions, and
- hence decide if each function is increasing or decreasing.
- \begin{multicols}{4}
- \begin{subproblem}
- $\alpha(x)=4x+1$
- \begin{shortsolution}
- $m=4$; $\alpha$ is increasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\beta(x)=-9x$
- \begin{shortsolution}
- $m=-9$; $\beta$ is decreasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\gamma(t)=18t+100$
- \begin{shortsolution}
- $m=18$; $\gamma$ is increasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\delta(y)=23-y$
- \begin{shortsolution}
- $m=-1$; $\delta$ is decreasing.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- Now let's generalize our findings for the most general linear function $f$
- that has formula $f(x)=mx+b$. Complete the following sentences.
- \begin{subproblem}
- When $m>0$, the function $f$ is $\ldots$
- \begin{shortsolution}
- When $m>0$, the function $f$ is $\ldots$ \emph{increasing}.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- When $m<0$, the function $f$ is $\ldots$
- \begin{shortsolution}
- When $m<0$, the function $f$ is $\ldots$ \emph{decreasing}.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Polynomial or not?]
- Identify whether each of the following functions is a polynomial or not.
- If the function is a polynomial, state its degree.
- \begin{multicols}{3}
- \begin{subproblem}
- $p(x)=2x+1$
- \begin{shortsolution}
- $p$ is a polynomial (you might also describe $p$ as linear). The degree of $p$ is 1.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=7x^2+4x$
- \begin{shortsolution}
- $p$ is a polynomial (you might also describe $p$ as quadratic). The degree of $p$ is 2.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=\sqrt{x}+2x+1$
- \begin{shortsolution}
- $p$ is not a polynomial; we require the powers of $x$ to be integer values.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=2^x-45$
- \begin{shortsolution}
- $p$ is not a polynomial; the $2^x$ term is exponential.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=6x^4-5x^3+9$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $6$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=-5x^{17}+9x+2$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is 17.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=4x(x+7)^2(x-3)^3$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $6$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=4x^{-5}-x^2+x$
- \begin{shortsolution}
- $p$ is not a polynomial because $-5$ is not a positive integer.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=-x^6(x^2+1)(x^3-2)$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $11$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Polynomial graphs]
- Three polynomial functions $p$, $m$, and $n$ are shown in \crefrange{poly:fig:functionp}{poly:fig:functionn}.
- The functions have the following formulas
- \begin{align*}
- p(x) & = (x-1)(x+2)(x-3) \\
- m(x) & = -(x-1)(x+2)(x-3) \\
- n(x) & = (x-1)(x+2)(x-3)(x+1)(x+4)
- \end{align*}
- Note that for our present purposes we are not concerned with the vertical scale of the graphs.
- \begin{subproblem}
- Identify both on the graph {\em and} algebraically, the zeros of each polynomial.
- \begin{shortsolution}
- $y=p(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{(x-1)*(x+2)*(x-3)};
- \addplot[soldot] coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- $y=m(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{-1*(x-1)*(x+2)*(x-3)};
- \addplot[soldot] coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- $y=n(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-90,ymax=70,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-4.15:3.15,samples=50]{(x-1)*(x+2)*(x-3)*(x+1)*(x+4)};
- \addplot[soldot] coordinates{(-4,0)(-2,0)(-1,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- The zeros of $p$ are $-2$, $1$, and $3$; the zeros of $m$ are $-2$, $1$, and $3$; the zeros of $n$ are
- $-4$, $-2$, $-1$, and $3$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Write down the degree, how many times the curve of each function `turns around',
- and how many zeros it has
- \begin{shortsolution}
- \begin{itemize}
- \item The degree of $p$ is 3, and the curve $y=p(x)$ turns around twice.
- \item The degree of $q$ is also 3, and the curve $y=q(x)$ turns around twice.
- \item The degree of $n$ is $5$, and the curve $y=n(x)$ turns around 4 times.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{(x-1)*(x+2)*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=p(x)$}
- \label{poly:fig:functionp}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{-1*(x-1)*(x+2)*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=m(x)$}
- \label{poly:fig:functionm}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-90,ymax=70,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.15:3.15,samples=100]{(x-1)*(x+2)*(x-3)*(x+1)*(x+4)};
- \addplot[soldot]coordinates{(-4,0)(-2,0)(-1,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=n(x)$}
- \label{poly:fig:functionn}
- \end{subfigure}
- \caption{}
- \end{widepage}
- \end{figure}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Horizontal intercepts]\label{poly:prob:matchpolys}%
- State the horizontal intercepts (as ordered pairs) of the following polynomials.
- \begin{multicols}{2}
- \begin{subproblem}\label{poly:prob:degree5}
- $p(x)=(x-1)(x+2)(x-3)(x+1)(x+4)$
- \begin{shortsolution}
- $(-4,0)$, $(-2,0)$, $(-1,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(x)=-(x-1)(x+2)(x-3)$
- \begin{shortsolution}
- $(-2,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(x)=(x-1)(x+2)(x-3)$
- \begin{shortsolution}
- $(-2,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{poly:prob:degree2}
- $s(x)=(x-2)(x+2)$
- \begin{shortsolution}
- $(-2,0)$, $(2,0)$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Minimums, maximums, and concavity]\label{poly:prob:incdec}
- Four polynomial functions are graphed in \cref{poly:fig:incdec}. The formulas
- for these functions are (not respectively)
- \begin{gather*}
- p(x)=\frac{x^3}{6}-\frac{x^2}{4}-3x, \qquad q(x)=\frac{x^4}{20}+\frac{x^3}{15}-\frac{6}{5}x^2+1\\
- r(x)=-\frac{x^5}{50}-\frac{x^4}{40}+\frac{2x^3}{5}+6, \qquad s(x)=-\frac{x^6}{6000}-\frac{x^5}{2500}+\frac{67x^4}{4000}+\frac{17x^3}{750}-\frac{42x^2}{125}
- \end{gather*}
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{.23\textwidth}
- \centering
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=major,
- ]
- \addplot expression[domain=-5.28:4.68,samples=50]{-x^5/50-x^4/40+2*x^3/5+6};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=major,
- ]
- \addplot expression[domain=-6.08:4.967,samples=50]{x^4/20+x^3/15-6/5*x^2+1};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-6,xmax=8,ymin=-10,ymax=10,
- xtick={-4,-2,...,6},
- ytick={-8,-4,4,8},
- minor ytick={-6,-2,...,6},
- grid=both,
- ]
- \addplot expression[domain=-4.818:6.081,samples=50]{x^3/6-x^2/4-3*x};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,ymin=-10,ymax=10,
- xtick={-8,-4,4,8},
- ytick={-8,-4,4,8},
- minor xtick={-6,-2,...,6},
- minor ytick={-6,-2,...,6},
- grid=both,
- ]
- \addplot expression[domain=-9.77:8.866,samples=50]{-x^6/6000-x^5/2500+67*x^4/4000+17/750*x^3-42/125*x^2};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec4}
- \end{subfigure}
- \caption{Graphs for \cref{poly:prob:incdec}.}
- \label{poly:fig:incdec}
- \end{widepage}
- \end{figure}
- \begin{subproblem}
- Match each of the formulas with one of the given graphs.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is graphed in \vref{poly:fig:incdec1};
- \item $q$ is graphed in \vref{poly:fig:incdec2};
- \item $r$ is graphed in \vref{poly:fig:incdec3};
- \item $s$ is graphed in \vref{poly:fig:incdec4}.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the zeros of each function using the appropriate graph.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ has simple zeros at about $-3.8$, $0$, and $5$.
- \item $q$ has simple zeros at about $-5.9$, $-1$, $1$, and $4$.
- \item $r$ has simple zeros at about $-5$, $-2.9$, and $4.1$.
- \item $s$ has simple zeros at about $-9$, $-6$, $4.2$, $8.1$, and a zero of multiplicity $2$ at $0$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the local maximums and minimums of each of the functions.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ has a local maximum of approximately $3.9$ at $-2$, and a local minimum of approximately $-6.5$ at $3$.
- \item $q$ has a local minimum of approximately $-10$ at $-4$, and $-4$ at $3$; $q$ has a local maximum of approximately $1$ at $0$.
- \item $r$ has a local minimum of approximately $-5.5$ at $-4$, and a local maximum of approximately $10$ at $3$.
- \item $s$ has a local maximum of approximately $5$ at $-8$, $0$ at $0$, and $5$ at $7$; $s$ has local minimums
- of approximately $-3$ at $-4$, and $-1$ at $3$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the global maximums and minimums of each of the functions.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ does not have a global maximum, nor a global minimum.
- \item $q$ has a global minimum of approximately $-10$; it does not have a global maximum.
- \item $r$ does not have a global maximum, nor a global minimum.
- \item $s$ has a global maximum of approximately $5$; it does not have a global minimum.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the intervals on which each function is increasing and decreasing.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is increasing on $(-\infty,-2)\cup (3,\infty)$, and decreasing on $(-2,3)$.
- \item $q$ is increasing on $(-4,0)\cup (3,\infty)$, and decreasing on $(-\infty,-4)\cup (0,3)$.
- \item $r$ is increasing on $(-4,3)$, and decreasing on $(-\infty,-4)\cup (3,\infty)$.
- \item $s$ is increasing on $(-\infty,-8)\cup (-4,0)\cup (3,5)$, and decreasing on $(-8,-4)\cup (0,3)\cup (5,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the intervals on which each function is concave up and concave down.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is concave up on $(1,\infty)$, and concave down on $(-\infty,1)$.
- \item $q$ is concave up on $(-\infty,-1)\cup (1,\infty)$, and concave down on $(-1,1)$.
- \item $r$ is concave up on $(-\infty,-3)\cup (0,2)$, and concave down on $(-3,0)\cup (2,\infty)$.
- \item $s$ is concave up on $(-6,-2)\cup (2,5)$, and concave down on $(-\infty,-6)\cup (-2,2)\cup (5,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- The degree of $q$ is $5$. Assuming that all of the real zeros of $q$ are
- shown in its graph, how many complex zeros does $q$ have?
- \begin{shortsolution}
- \Vref{poly:fig:incdec2} shows that $q$ has $3$ real zeros
- since the curve of $q$ cuts the horizontal axis $3$ times.
- Since $q$ has degree $5$, $q$ must have $2$ complex zeros.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Long-run behaviour of polynomials]
- Describe the long-run behavior of each of polynomial functions in
- \crefrange{poly:prob:degree5}{poly:prob:degree2}.
- \begin{shortsolution}
- $\dd\lim_{x\rightarrow-\infty}p(x)=-\infty$,
- $\dd\lim_{x\rightarrow\infty}p(x)=\infty$,
- $\dd\lim_{x\rightarrow-\infty}q(x)=\infty$,
- $\dd\lim_{x\rightarrow\infty}q(x)=-\infty$,
- $\dd\lim_{x\rightarrow-\infty}r(x)=-\infty$,
- $\dd\lim_{x\rightarrow\infty}r(x)=\infty$,
- $\dd\lim_{x\rightarrow-\infty}s(x)=\infty$,
- $\dd\lim_{x\rightarrow\infty}s(x)=\infty$,
- \end{shortsolution}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[True of false?]
- Let $p$ be a polynomial function.
- Label each of the following statements as true (T) or false (F); if they are false,
- provide an example that supports your answer.
- \begin{subproblem}
- If $p$ has degree $3$, then $p$ has $3$ distinct zeros.
- \begin{shortsolution}
- False. Consider $p(x)=x^2(x+1)$ which has only 2 distinct zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has degree $4$, then $\dd\lim_{x\rightarrow-\infty}p(x)=\infty$ and $\dd\lim_{x\rightarrow\infty}p(x)=\infty$.
- \begin{shortsolution}
- False. Consider $p(x)=-x^4$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has even degree, then it is possible that $p$ can have no real zeros.
- \begin{shortsolution}
- True.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has odd degree, then it is possible that $p$ can have no real zeros.
- \begin{shortsolution}
- False. All odd degree polynomials will cut the horizontal axis at least once.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a possible formula for a polynomial
- function that has the specified properties.
- \begin{subproblem}
- Degree 2 and has zeros at $4$ and $5$.
- \begin{shortsolution}
- Possible option: $p(x)=(x-4)(x-5)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 3 and has zeros at $4$,$5$ and $-3$.
- \begin{shortsolution}
- Possible option: $p(x)=(x-4)(x-5)(x+3)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 4 and has zeros at $0$, $4$, $5$, $-3$.
- \begin{shortsolution}
- Possible option: $p(x)=x(x-4)(x-5)(x+3)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 4, with zeros that make the graph cut at $2$, $-5$, and a zero that makes the graph touch at $-2$;
- \begin{shortsolution}
- Possible option: $p(x)=(x-2)(x+5)(x+2)^2$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 3, with only one zero at $-1$.
- \begin{shortsolution}
- Possible option: $p(x)=(x+1)^3$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{poly:step:last}]
- \pccname{Saheed} is graphing a polynomial function, $p$.
- He is following \crefrange{poly:step:first}{poly:step:last} and has so far
- marked the zeros of $p$ on \cref{poly:fig:optionsp1}. Saheed tells you that
- $p$ has degree $3$, but does \emph{not} say if the leading coefficient
- of $p$ is positive or negative.
- \begin{figure}[!htbp]
- \begin{widepage}
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\textwidth,
- height=.5\textwidth,
- ]
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:optionsp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\textwidth,
- height=.5\textwidth,
- ]
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:optionsp2}
- \end{subfigure}%
- \caption{}
- \end{widepage}
- \end{figure}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp1} to help sketch $p$, assuming that the leading coefficient
- is positive.
- \begin{shortsolution}
- Assuming that $a_3>0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-6.78179:8.35598,samples=50]{1/20*(x+5)*(x-2)*(x-6)};
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp1} to help sketch $p$, assuming that the leading coefficient
- is negative.
- \begin{shortsolution}
- Assuming that $a_3<0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-6.78179:8.35598,samples=50]{-1/20*(x+5)*(x-2)*(x-6)};
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- Saheed now turns his attention to another polynomial function, $q$. He finds
- the zeros of $q$ (there are only $2$) and marks them on \cref{poly:fig:optionsp2}.
- Saheed knows that $q$ has degree $3$, but doesn't know if the leading
- coefficient is positive or negative.
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp2} to help sketch $q$, assuming that the leading
- coefficient of $q$ is positive. Hint: only one of the zeros is simple.
- \begin{shortsolution}
- Assuming that $a_4>0$ there are $2$ different options:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-8.68983:7.31809,samples=50]{1/20*(x+5)^2*(x-6)};
- \addplot expression[domain=-6.31809:9.68893,samples=50]{1/20*(x+5)*(x-6)^2};
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp2} to help sketch $q$, assuming that the leading
- coefficient of $q$ is negative.
- \begin{shortsolution}
- Assuming that $a_4<0$ there are $2$ different options:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-8.68983:7.31809,samples=50]{-1/20*(x+5)^2*(x-6)};
- \addplot expression[domain=-6.31809:9.68893,samples=50]{-1/20*(x+5)*(x-6)^2};
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Zeros]
- Find all zeros of each of the following polynomial functions, making
- sure to detail their multiplicity. Note that
- you may need to use factoring, or the quadratic formula, or both! Also note
- that some zeros may be repeated, and some may be complex.
- \begin{multicols}{3}
- \begin{subproblem}
- $p(x)=x^2+1$
- \begin{shortsolution}
- $\pm i$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(y)=(y^2-9)(y^2-7)$
- \begin{shortsolution}
- $\pm 3$, $\pm \sqrt{7}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(z)=-4z^3(z^2+3)(z^2+64)$
- \begin{shortsolution}
- $0$ (multiplicity $3$), $\pm\sqrt{3}$ (simple), $\pm\sqrt{8}$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $a(x)=x^4-81$
- \begin{shortsolution}
- $\pm 3$, $\pm 3i$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $b(y)=y^3-8$
- \begin{shortsolution}
- $2$, $-1\pm i\sqrt{3}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $c(m)=m^3-m^2$
- \begin{shortsolution}
- $0$ (multiplicity $2$), $1$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(n)=(n+1)(n^2+4)$
- \begin{shortsolution}
- $-1$, $\pm 2i$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $f(\alpha)=(\alpha^2-16)(\alpha^2-5\alpha+4)$
- \begin{shortsolution}
- $-4$ (simple), $4$ (multiplicity $2$), $1$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(\beta)=(\beta^2-25)(\beta^2-5\beta-4)$
- \begin{shortsolution}
- $\pm 5$, $\dfrac{5\pm\sqrt{41}}{2}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Given zeros, find a formula]
- In each of the following problems you are given the zeros of a polynomial.
- Write a possible formula for each polynomial| you may leave your
- answer in factored form, but it may not contain complex numbers. Unless
- otherwise stated, assume that the zeros are simple.
- \begin{multicols}{3}
- \begin{subproblem}
- $1$, $2$
- \begin{shortsolution}
- $p(x)=(x-1)(x-2)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $0$, $5$, $13$
- \begin{shortsolution}
- $p(x)=x(x-5)(x-13)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $-7$, $2$ (multiplicity $3$), $5$
- \begin{shortsolution}
- $p(x)=(x+7)(x-2)^3(x-5)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $0$, $\pm i$
- \begin{shortsolution}
- $p(x)=x(x^2+1)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\pm 2i$, $\pm 7$
- \begin{shortsolution}
- $p(x)=(x^2+4)(x^2-49)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $-2\pm i\sqrt{6}$
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Composition of polynomials]
- Let $p$ and $q$ be polynomial functions that have formulas
- \[
- p(x)=(x+1)(x+2)(x+5), \qquad q(x)=3-x^4
- \]
- Evaluate each of the following.
- \begin{multicols}{4}
- \begin{subproblem}
- $(p\circ q)(0)$
- \begin{shortsolution}
- $160$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(q\circ p)(0)$
- \begin{shortsolution}
- $-9997$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\circ q)(1)$
- \begin{shortsolution}
- $84$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\circ p)(0)$
- \begin{shortsolution}
- $1980$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Piecewise polynomial functions]
- Let $P$ be the piecewise-defined function with formula
- \[
- P(x)=\begin{cases}
- (1-x)(2x+5)(x^2+1), & x\leq -3\\
- 4-x^2, & -3<x < 4\\
- x^3 & x\geq 4
- \end{cases}
- \]
- Evaluate each of the following
- \begin{multicols}{5}
- \begin{subproblem}
- $P(-4)$
- \begin{shortsolution}
- $-255$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(0)$
- \begin{shortsolution}
- $4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(4)$
- \begin{shortsolution}
- $64$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(-3)$
- \begin{shortsolution}
- $-40$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(P\circ P)(0)$
- \begin{shortsolution}
- $64$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Function algebra]
- Let $p$ and $q$ be the polynomial functions that have formulas
- \[
- p(x)=x(x+1)(x-3)^2, \qquad q(x)=7-x^2
- \]
- Evaluate each of the following (if possible).
- \begin{multicols}{4}
- \begin{subproblem}
- $(p+q)(1)$
- \begin{shortsolution}
- $14$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p-q)(0)$
- \begin{shortsolution}
- $7$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\cdot q)(\sqrt{7})$
- \begin{shortsolution}
- $0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\left( \frac{q}{p} \right)(1)$
- \begin{shortsolution}
- $\frac{3}{4}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \begin{subproblem}
- What is the domain of the function $\frac{q}{p}$?
- \begin{shortsolution}
- $(-\infty,-1)\cup (-1,0)\cup (0,3)\cup (3,\infty)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Transformations: given the transformation, find the formula]
- Let $p$ be the polynomial function that has formula.
- \[
- p(x)=4x(x^2-1)(x+3)
- \]
- In each of the following
- problems apply the given transformation to the function $p$ and
- write a formula for the transformed version of $p$.
- \begin{multicols}{2}
- \begin{subproblem}
- Shift $p$ to the right by $5$ units.
- \begin{shortsolution}
- $p(x-5)=4(x-5)(x-2)(x^2-10x+24)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ to the left by $6$ units.
- \begin{shortsolution}
- $p(x+6)=4(x+6)(x+9)(x^2+12x+35)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ up by $12$ units.
- \begin{shortsolution}
- $p(x)+12=4x(x^2-1)(x+3)+12$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ down by $2$ units.
- \begin{shortsolution}
- $p(x)-2=4x(x^2-1)(x+3)-2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $p$ over the horizontal axis.
- \begin{shortsolution}
- $-p(x)=-4x(x^2-1)(x+3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $p$ over the vertical axis.
- \begin{shortsolution}
- $p(-x)=-4x(x^2-1)(3-x)$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a table]\label{poly:prob:findformula}
- \Crefrange{poly:tab:findformulap}{poly:tab:findformulas} show values of polynomial functions, $p$, $q$,
- $r$, and $s$.
-
- \begin{table}[!htb]
- \centering
- \begin{widepage}
- \caption{Tables for \cref{poly:prob:findformula}}
- \label{poly:tab:findformula}
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=p(x)$}
- \label{poly:tab:findformulap}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $-4$ & $-56$ \\\normalline
- $-3$ & $-18$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & $4$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $-6$ \\\normalline
- $2$ & $-8$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $24$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=q(x)$}
- \label{poly:tab:findformulaq}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $-16$ \\\normalline
- $-3$ & $-3$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & $-1$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $9$ \\\normalline
- $2$ & $32$ \\\normalline
- $3$ & $75$ \\\normalline
- $4$ & $144$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=r(x)$}
- \label{poly:tab:findformular}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $105$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & $-15$ \\\normalline
- $-1$ & $0$ \\\normalline
- $0$ & $9$ \\\normalline
- $1$ & $0$ \\\normalline
- $2$ & $-15$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $105$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=s(x)$}
- \label{poly:tab:findformulas}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $75$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & $-9$ \\\normalline
- $-1$ & $0$ \\\normalline
- $0$ & $3$ \\\normalline
- $1$ & $0$ \\\normalline
- $2$ & $15$ \\\normalline
- $3$ & $96$ \\\normalline
- $4$ & $760$ \\\lastline
- \end{tabular}
- \end{subtable}
- \end{widepage}
- \end{table}
-
- \begin{subproblem}
- Assuming that all of the zeros of $p$ are shown (in \cref{poly:tab:findformulap}), how many zeros does $p$ have?
- \begin{shortsolution}
- $p$ has 3 zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What is the degree of $p$?
- \begin{shortsolution}
- $p$ is degree 3.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Write a formula for $p(x)$.
- \begin{shortsolution}
- $p(x)=x(x+2)(x-3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $q$ are shown (in \cref{poly:tab:findformulaq}), how many zeros does $q$ have?
- \begin{shortsolution}
- $q$ has 2 zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Describe the difference in behavior of $p$ and $q$ at $-2$.
- \begin{shortsolution}
- $p$ changes sign at $-2$, and $q$ does not change sign at $-2$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that $q$ is a degree-$3$ polynomial, write a formula for $q(x)$.
- \begin{shortsolution}
- $q(x)=x(x+2)^2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $r$ are shown (in \cref{poly:tab:findformular}), find a formula for $r(x)$.
- \begin{shortsolution}
- $r(x)=(x+3)(x+1)(x-1)(x-3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $s$ are shown (in \cref{poly:tab:findformulas}), find a formula for $s(x)$.
- \begin{shortsolution}
- $s(x)=(x+3)(x+1)(x-1)^2$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Rational functions}
- \subsection*{Power functions with negative exponents}
- The study of rational functions will rely upon a good knowledge
- of power functions with negative exponents. \Cref{rat:ex:oddpow,rat:ex:evenpow} are
- simple but fundamental to understanding the behavior of rational functions.
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Power functions with odd negative exponents]\label{rat:ex:oddpow}
- Graph each of the following functions on your calculator, state their domain in interval notation, and their
- behavior as $x\rightarrow 0^-$ and $x\rightarrow 0^+$.
- \[
- f(x)=\frac{1}{x},\qquad g(x)=\dfrac{1}{x^3},\qquad h(x)=\dfrac{1}{x^5}
- \]
- \begin{pccsolution}
- The functions $f$, $g$, and $k$ are plotted in \cref{rat:fig:oddpow}.
- The domain of each of the functions $f$, $g$, and $h$ is $(-\infty,0)\cup (0,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- f(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same results hold for $g$ and $h$. Note also that each of the functions
- has a \emph{vertical asymptote} at $0$. We see that
- \begin{align*}
- f(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} f(x)\rightarrow \infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same results hold for $g$ and $h$.
-
- The curve of a function that has a vertical asymptote is necessarily separated
- into \emph{branches}| each of the functions $f$, $g$, and $h$ have $2$ branches.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=north west,
- ]
- \addplot expression[domain=-3:-0.2]{1/x};
- \addplot expression[domain=-3:-0.584]{1/x^3};
- \addplot expression[domain=-3:-0.724]{1/x^5};
- \addplot expression[domain=0.2:3]{1/x};
- \addplot expression[domain=0.584:3]{1/x^3};
- \addplot expression[domain=0.724:3]{1/x^5};
- \addplot[soldot]coordinates{(-1,-1)}node[axisnode,anchor=north east]{$(-1,-1)$};
- \addplot[soldot]coordinates{(1,1)}node[axisnode,anchor=south west]{$(1,1)$};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:oddpow}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=south east,
- ]
- \addplot expression[domain=-3:-0.447]{1/x^2};
- \addplot expression[domain=-3:-0.668]{1/x^4};
- \addplot expression[domain=-3:-0.764]{1/x^6};
- \addplot expression[domain=0.447:3]{1/x^2};
- \addplot expression[domain=0.668:3]{1/x^4};
- \addplot expression[domain=0.764:3]{1/x^6};
- \addplot[soldot]coordinates{(-1,1)}node[axisnode,anchor=south east]{$(-1,1)$};
- \addplot[soldot]coordinates{(1,1)}node[axisnode,anchor=south west]{$(1,1)$};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:evenpow}
- \end{minipage}%
- \end{figure}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Power functions with even negative exponents]\label{rat:ex:evenpow}%
- Graph each of the following functions, state their domain, and their
- behavior as $x\rightarrow 0^-$ and $x\rightarrow 0^+$.
- \[
- f(x)=\frac{1}{x^2},\qquad g(x)=\frac{1}{x^4},\qquad h(x)=\frac{1}{x^6}
- \]
- \begin{pccsolution}
- The functions $F$, $G$, and $H$ are plotted in \cref{rat:fig:evenpow}.
- The domain of each of the functions $F$, $G$, and $H$ is $(-\infty,0)\cup (0,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- F(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty
- \end{align*}
- As in \cref{rat:ex:oddpow}, $F$ has a horizontal asymptote that
- has equation $y=0$.
- The same results hold for $G$ and $H$. Note also that each of the functions
- has a \emph{vertical asymptote} at $0$. We see that
- \begin{align*}
- F(x)\rightarrow \infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} F(x)\rightarrow \infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same results hold for $G$ and $H$. Each of the functions $F$, $G$, and $H$
- have $2$ branches.
- \end{pccsolution}
- \end{pccexample}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{doyouunderstand}
- \begin{problem}
- Repeat \cref{rat:ex:oddpow,rat:ex:evenpow} using (respectively)
- \begin{subproblem}
- $k(x)=-\dfrac{1}{x}$, $ m(x)=-\dfrac{1}{x^3}$, $ n(x)=-\dfrac{1}{x^5}$
- \begin{shortsolution}
- The functions $k$, $m$, and $n$ have domain $(-\infty,0)\cup (0,\infty)$, and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-3:-0.2]{-1/x};
- \addplot expression[domain=-3:-0.584]{-1/x^3};
- \addplot expression[domain=-3:-0.724]{-1/x^5};
- \addplot expression[domain=0.2:3]{-1/x};
- \addplot expression[domain=0.584:3]{-1/x^3};
- \addplot expression[domain=0.724:3]{-1/x^5};
- \legend{$k$,$m$,$n$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- k(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} k(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty \\
- \intertext{and also}
- k(x)\rightarrow \infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} k(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same are true for $m$ and $n$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $ K(x)=-\dfrac{1}{x^2}$, $ M(x)=-\dfrac{1}{x^4}$, $ N(x)=-\dfrac{1}{x^6}$
- \begin{shortsolution}
- The functions $K$, $M$, and $N$ have domain $(-\infty,0)\cup (0,\infty)$, and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-3:-0.447]{-1/x^2};
- \addplot expression[domain=-3:-0.668]{-1/x^4};
- \addplot expression[domain=-3:-0.764]{-1/x^6};
- \addplot expression[domain=0.447:3]{-1/x^2};
- \addplot expression[domain=0.668:3]{-1/x^4};
- \addplot expression[domain=0.764:3]{-1/x^6};
- \legend{$K$,$M$,$N$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- K(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} K(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty \\
- \intertext{and also}
- K(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} K(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same are true for $M$ and $N$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{doyouunderstand}
-
- \subsection*{Rational functions}
- \begin{pccdefinition}[Rational functions]\label{rat:def:function}
- Rational functions have the form
- \[
- r(x) = \frac{p(x)}{q(x)}
- \]
- where both $p$ and $q$ are polynomials.
-
- Note that
- \begin{itemize}
- \item the domain or $r$ will be all real numbers, except those that
- make the \emph{denominator}, $q(x)$, equal to $0$;
- \item the zeros of $r$ are the zeros of $p$, i.e the real numbers
- that make the \emph{numerator}, $p(x)$, equal to $0$.
- \end{itemize}
-
- \Cref{rat:ex:oddpow,rat:ex:evenpow} are particularly important because $r$
- will behave like $\frac{1}{x}$, or $\frac{1}{x^2}$ around its vertical asymptotes,
- depending on the power that the relevant term is raised to| we will demonstrate
- this in what follows.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Rational or not]
- Identify whether each of the following functions is a rational or not. If
- the function is rational, state the domain.
- \begin{multicols}{3}
- \begin{enumerate}
- \item $r(x)=\dfrac{1}{x}$
- \item $f(x)=2^x+3$
- \item $g(x)=19$
- \item $h(x)=\dfrac{3+x}{4-x}$
- \item $k(x)=\dfrac{x^3+2x}{x-15}$
- \item $l(x)=9-4x$
- \item $m(x)=\dfrac{x+5}{(x-7)(x+9)}$
- \item $n(x)=x^2+6x+7$
- \item $q(x)=1-\dfrac{3}{x+1}$
- \end{enumerate}
- \end{multicols}
- \begin{pccsolution}
- \begin{enumerate}
- \item $r$ is rational; the domain of $r$ is $(-\infty,0)\cup(0,\infty)$.
- \item $f$ is not rational.
- \item $g$ is not rational; $g$ is constant.
- \item $h$ is rational; the domain of $h$ is $(-\infty,4)\cup(4,\infty)$.
- \item $k$ is rational; the domain of $k$ is $(-\infty,15)\cup(15,\infty)$.
- \item $l$ is not rational; $l$ is linear.
- \item $m$ is rational; the domain of $m$ is $(-\infty,-9)\cup(-9,7)\cup(7,\infty)$.
- \item $n$ is not rational; $n$ is quadratic (or you might describe $n$ as a polynomial).
- \item $q$ is rational; the domain of $q$ is $(-\infty,-1)\cup (-1,\infty)$.
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Match formula to graph]
- Each of the following functions is graphed in \cref{rat:fig:whichiswhich}.
- Which is which?
- \[
- r(x)=\frac{1}{x-3}, \qquad q(x)=\frac{x-2}{x+5}, \qquad k(x)=\frac{1}{(x+2)(x-3)}
- \]
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/(x+5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-6.37]{f};
- \addplot[pccplot] expression[domain=-3.97:10]{f};
- \addplot[soldot] coordinates{(2,0)};
- \addplot[asymptote,domain=-6:6]({-5},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=6,
- xtick={-8,-6,...,8},
- ytick={-4,4},
- minor ytick={-3,...,5},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:2.8]{f};
- \addplot[pccplot] expression[domain=3.17:10]{f};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/((x-3)*(x+2));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-4,4},
- minor ytick={-3,...,3},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-2.03969]{f};
- \addplot[pccplot] expression[domain=-1.95967:2.95967]{f};
- \addplot[pccplot] expression[domain=3.03969:10]{f};
- \addplot[asymptote,domain=-5:5]({-2},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:whichiswhich}
- \end{figure}
-
- \begin{pccsolution}
- Let's start with the function $r$. Note that domain of $r$ is $(-\infty,3)\cup(0,3)$, so
- we search for a function that has a vertical asymptote at $3$. There
- are two possible choices: the functions graphed in \cref{rat:fig:which2,rat:fig:which3},
- but note that the function in \cref{rat:fig:which3} also has a vertical asymptote at $-2$
- which is not consistent with the formula for $r(x)$. Therefore, $y=r(x)$
- is graphed in \cref{rat:fig:which2}.
-
- The function $q$ has domain $(-\infty,-5)\cup(-5,\infty)$, so we search
- for a function that has a vertical asymptote at $-5$. The only candidate
- is the curve shown in \cref{rat:fig:which1}; note that the curve also goes through $(2,0)$,
- which is consistent with the formula for $q(x)$, since $q(2)=0$, i.e $q$
- has a zero at $2$.
-
- The function $k$ has domain $(-\infty,-2)\cup(-2,3)\cup(3,\infty)$, and
- has vertical asymptotes at $-2$ and $3$. This is consistent with
- the graph in \cref{rat:fig:which3} (and is the only curve that
- has $3$ branches).
-
- We note that each function behaves like $\frac{1}{x}$ around its vertical asymptotes,
- because each linear factor in each denominator is raised to the power $1$; if (for example)
- the definition of $r$ was instead
- \[
- r(x)=\frac{1}{(x-3)^2}
- \]
- then we would see that $r$ behaves like $\frac{1}{x^2}$ around its vertical asymptote, and
- the graph of $r$ would be very different. We will deal with these cases in the examples that follow.
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Repeated factors in the denominator]
- Consider the functions $f$, $g$, and $h$ that have formulas
- \[
- f(x)=\frac{x-2}{(x-3)(x+2)}, \qquad g(x)=\frac{x-2}{(x-3)^2(x+2)}, \qquad h(x)=\frac{x-2}{(x-3)(x+2)^2}
- \]
- which are graphed in \cref{rat:fig:repfactd}. Note that each function has $2$
- vertical asymptotes, and the domain of each function is
- \[
- (-\infty,-2)\cup(-2,3)\cup(3,\infty)
- \]
- so we are not surprised to see that each curve has $3$ branches. We also note that
- the numerator of each function is the same, which tells us that each function has
- only $1$ zero at $2$.
-
- The functions $g$ and $h$ are different from those that we have considered previously,
- because they have a repeated factor in the denominator. Notice in particular
- the way that the functions behave around their asymptotes:
- \begin{itemize}
- \item $f$ behaves like $\frac{1}{x}$ around both of its asymptotes;
- \item $g$ behaves like $\frac{1}{x}$ around $-2$, and like $\frac{1}{x^2}$ around $3$;
- \item $h$ behaves like $\frac{1}{x^2}$ around $-2$, and like $\frac{1}{x}$ around $3$.
- \end{itemize}
- \end{pccexample}
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,4},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.201]{f};
- \addplot[pccplot] expression[domain=-1.802:2.951]{f};
- \addplot[pccplot] expression[domain=3.052:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-2},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)(x-3)}$}
- \label{rat:fig:repfactd1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)*(x-3)^2);}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,4},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.039]{f};
- \addplot[pccplot] expression[domain=-1.959:2.796]{f};
- \addplot[pccplot] expression[domain=3.243:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-4:4]({-2},{x});
- % \addplot[asymptote,domain=-4:4]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)(x-3)^2}$}
- \label{rat:fig:repfactd2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)^2*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,2},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.451]{f};
- \addplot[pccplot] expression[domain=-1.558:2.990]{f};
- \addplot[pccplot] expression[domain=3.010:6]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-4:4]({-2},{x});
- % \addplot[asymptote,domain=-4:4]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)^2(x-3)}$}
- \label{rat:fig:repfactd3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:repfactd}
- \end{figure}
-
- \Cref{rat:def:function} says that the zeros of
- the rational function $r$ that has formula $r(x)=\frac{p(x)}{q(x)}$ are
- the zeros of $p$. Let's explore this a little more.
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Zeros] Find the zeros of each of the following functions
- \[
- \alpha(x)=\frac{x+5}{3x-7}, \qquad \beta(x)=\frac{9-x}{x+1}, \qquad \gamma(x)=\frac{17x^2-10}{2x+1}
- \]
- \begin{pccsolution}
- We find the zeros of each function in turn by setting the numerator equal to $0$. The zeros of
- $\alpha$ are found by solving
- \[
- x+5=0
- \]
- The zero of $\alpha$ is $-5$.
-
- Similarly, we may solve $9-x=0$ to find the zero of $\beta$, which is clearly $9$.
-
- The zeros of $\gamma$ satisfy the equation
- \[
- 17x^2-10=0
- \]
- which we can solve using the square root property to obtain
- \[
- x=\pm\frac{10}{17}
- \]
- The zeros of $\gamma$ are $\pm\frac{10}{17}$.
- \end{pccsolution}
- \end{pccexample}
-
- \subsection*{Long-run behavior}
- Our focus so far has been on the behavior of rational functions around
- their \emph{vertical} asymptotes. In fact, rational functions also
- have interesting long-run behavior around their \emph{horizontal} or
- \emph{oblique} asymptotes. A rational function will always have either
- a horizontal or an oblique asymptote| the case is determined by the degree
- of the numerator and the degree of the denominator.
- \begin{pccdefinition}[Long-run behavior]\label{rat:def:longrun}
- Let $r$ be the rational function that has formula
- \[
- r(x) = \frac{a_n x^n + a_{n-1}x^{n-1}+\ldots + a_0}{b_m x^m + b_{m-1}x^{m-1}+\ldots+b_0}
- \]
- We can classify the long-run behavior of the rational function $r$
- according to the following criteria:
- \begin{itemize}
- \item if $n<m$ then $r$ has a horizontal asymptote with equation $y=0$;
- \item if $n=m$ then $r$ has a horizontal asymptote with equation $y=\dfrac{a_n}{b_m}$;
- \item if $n>m$ then $r$ will have an oblique asymptote as $x\rightarrow\pm\infty$ (more on this in \cref{rat:sec:oblique})
- \end{itemize}
- \end{pccdefinition}
- We will concentrate on functions that have horizontal asymptotes until
- we reach \cref{rat:sec:oblique}.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Long-run behavior graphically]\label{rat:ex:horizasymp}
- \pccname{Kebede} has graphed the following functions in his graphing calculator
- \[
- r(x)=\frac{x+1}{x-3}, \qquad s(x)=\frac{2(x+1)}{x-3}, \qquad t(x)=\frac{3(x+1)}{x-3}
- \]
- and obtained the curves shown in \cref{rat:fig:horizasymp}. Kebede decides
- to test his knowledgeable friend \pccname{Oscar}, and asks him
- to match the formulas to the graphs.
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=2*(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:2]{f};
- \addplot[pccplot] expression[domain=5:15]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:2.42857,samples=50]{f};
- \addplot[pccplot] expression[domain=3.8:15,samples=50]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{1});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=3*(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:1.6666,samples=50]{f};
- \addplot[pccplot] expression[domain=7:15]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp3}
- \end{subfigure}
- \caption{Horizontal asymptotes}
- \label{rat:fig:horizasymp}
- \end{figure}
-
- Oscar notices that each function has a vertical asymptote at $3$ and a zero at $-1$.
- The main thing that catches Oscar's eye is that each function has a different
- coefficient in the numerator, and that each curve has a different horizontal asymptote.
- In particular, Oscar notes that
- \begin{itemize}
- \item the curve shown in \cref{rat:fig:horizasymp1} has a horizontal asymptote with equation $y=2$;
- \item the curve shown in \cref{rat:fig:horizasymp2} has a horizontal asymptote with equation $y=1$;
- \item the curve shown in \cref{rat:fig:horizasymp3} has a horizontal asymptote with equation $y=3$.
- \end{itemize}
- Oscar is able to tie it all together for Kebede by referencing \cref{rat:def:longrun}. He says
- that since the degree of the numerator and the degree of the denominator is the same
- for each of the functions $r$, $s$, and $t$, the horizontal asymptote will be determined
- by evaluating the ratio of their leading coefficients.
-
- Oscar therefore says that $r$ should have a horizontal asymptote $y=\frac{1}{1}=1$, $s$ should
- have a horizontal asymptote $y=\frac{2}{1}=2$, and $t$ should have a horizontal asymptote
- $y=\frac{3}{1}=3$. Kebede is able to finish the problem from here, and says that $r$ is
- shown in \cref{rat:fig:horizasymp2}, $s$ is shown in \cref{rat:fig:horizasymp1}, and
- $t$ is shown in \cref{rat:fig:horizasymp3}.
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Long-run behavior numerically]
- \pccname{Xiao} and \pccname{Dwayne} saw \cref{rat:ex:horizasymp} but are a little confused
- about horizontal asymptotes. What does it mean to say that a function $r$ has a horizontal
- asymptote?
-
- They decide to explore the concept by
- constructing a table of values for the rational functions $R$ and $S$ that have formulas
- \[
- R(x)=\frac{-5(x+1)}{x-3}, \qquad S(x)=\frac{7(x-5)}{2(x+1)}
- \]
- In \cref{rat:tab:plusinfty} they model the behavior of $R$ and $S$ as $x\rightarrow\infty$,
- and in \cref{rat:tab:minusinfty} they model the behavior of $R$ and $S$ as $x\rightarrow-\infty$
- by substituting very large values of $|x|$ into each function.
- \begin{table}[!htb]
- \begin{minipage}{.5\textwidth}
- \centering
- \caption{$R$ and $S$ as $x\rightarrow\infty$}
- \label{rat:tab:plusinfty}
- \begin{tabular}{crr}
- \beforeheading
- $x$ & $R(x)$ & $S(x)$ \\ \afterheading
- $1\times 10^2$ & $-5.20619$ & $3.29208$ \\\normalline
- $1\times 10^3$ & $-5.02006$ & $3.47902$ \\\normalline
- $1\times 10^4$ & $-5.00200$ & $3.49790$ \\\normalline
- $1\times 10^5$ & $-5.00020$ & $3.49979$ \\\normalline
- $1\times 10^6$ & $-5.00002$ & $3.49998$ \\\lastline
- \end{tabular}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \centering
- \caption{$R$ and $S$ as $x\rightarrow-\infty$}
- \label{rat:tab:minusinfty}
- \begin{tabular}{crr}
- \beforeheading
- $x$ & $R(x)$ & $S(x)$ \\ \afterheading
- $-1\times 10^2$ & $-4.80583$ & $3.71212$ \\\normalline
- $-1\times 10^3$ & $-4.98006$ & $3.52102$ \\\normalline
- $-1\times 10^4$ & $-4.99800$ & $3.50210$ \\\normalline
- $-1\times 10^5$ & $-4.99980$ & $3.50021$ \\\normalline
- $-1\times 10^6$ & $-4.99998$ & $3.50002$ \\\lastline
- \end{tabular}
- \end{minipage}
- \end{table}
-
- Xiao and Dwayne study \cref{rat:tab:plusinfty,rat:tab:minusinfty} and decide that
- the functions $R$ and $S$ never actually touch their horizontal asymptotes, but they
- do get infinitely close. They also feel as if they have a better understanding of
- what it means to study the behavior of a function as $x\rightarrow\pm\infty$.
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Repeated factors in the numerator]
- Consider the functions $f$, $g$, and $h$ that have formulas
- \[
- f(x)=\frac{(x-2)^2}{(x-3)(x+1)}, \qquad g(x)=\frac{x-2}{(x-3)(x+1)}, \qquad h(x)=\frac{(x-2)^3}{(x-3)(x+1)}
- \]
- which are graphed in \cref{rat:fig:repfactn}. We note that each function has vertical
- asymptotes at $-1$ and $3$, and so the domain of each function is
- \[
- (-\infty,-1)\cup(-1,3)\cup(3,\infty)
- \]
- We also notice that the numerators of each function are quite similar| indeed, each
- function has a zero at $2$, but how does each function behave around their zero?
-
- Using \cref{rat:fig:repfactn} to guide us, we note that
- \begin{itemize}
- \item $f$ has a horizontal intercept $(2,0)$, but the curve of
- $f$ does not cut the horizontal axis| it bounces off it;
- \item $g$ also has a horizontal intercept $(2,0)$, and the curve
- of $g$ \emph{does} cut the horizontal axis;
- \item $h$ has a horizontal intercept $(2,0)$, and the curve of $h$
- also cuts the axis, but appears flattened as it does so.
- \end{itemize}
-
- We can further enrich our study by discussing the long-run behavior of each function.
- Using the tools of \cref{rat:def:longrun}, we can deduce that
- \begin{itemize}
- \item $f$ has a horizontal asymptote with equation $y=1$;
- \item $g$ has a horizontal asymptote with equation $y=0$;
- \item $h$ does \emph{not} have a horizontal asymptote| it has an oblique asymptote (we'll
- study this more in \cref{rat:sec:oblique}).
- \end{itemize}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)^2/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- ytick={-8,-4,...,8},
- % grid=both,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.248,samples=50]{f};
- \addplot[pccplot] expression[domain=-0.794:2.976,samples=50]{f};
- \addplot[pccplot] expression[domain=3.026:5,samples=50]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-1},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{(x-2)^2}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- ytick={-8,-4,...,8},
- % grid=both,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.075]{f};
- \addplot[pccplot] expression[domain=-0.925:2.975]{f};
- \addplot[pccplot] expression[domain=3.025:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-1},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)^3/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- xtick={-8,-6,...,8},
- % grid=both,
- ymin=-30,ymax=30,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.27]{f};
- \addplot[pccplot] expression[domain=-0.806:2.99185]{f};
- \addplot[pccplot] expression[domain=3.0085:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-30:30]({-1},{x});
- % \addplot[asymptote,domain=-30:30]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{(x-2)^3}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:repfactn}
- \end{figure}
-
- \subsection*{Holes}
- Rational functions have a vertical asymptote at $a$ if the denominator is $0$ at $a$.
- What happens if the numerator is $0$ at the same place? In this case, we say that the rational
- function has a \emph{hole} at $a$.
- \begin{pccdefinition}[Holes]
- The rational function
- \[
- r(x)=\frac{p(x)}{q(x)}
- \]
- has a hole at $a$ if $p(a)=q(a)=0$. Note that holes are different from
- a vertical asymptotes. We represent that $r$ has a hole at the point
- $(a,r(a))$ on the curve $y=r(x)$ by
- using a hollow circle, $\circ$.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}
- \pccname{Mohammed} and \pccname{Sue} have graphed the function $r$ that has formula
- \[
- r(x)=\frac{x^2+x-6}{(x-2)}
- \]
- in their calculators, and can not decide if the correct graph
- is \cref{rat:fig:hole} or \cref{rat:fig:hole1}.
-
- Luckily for them, Oscar is nearby, and can help them settle the debate.
- Oscar demonstrates that
- \begin{align*}
- r(x) & =\frac{(x+3)(x-2)}{(x-2)} \\
- & = x+3
- \end{align*}
- but only when $x\ne 2$, because the function is undefined at $2$. Oscar
- says that this necessarily means that the domain or $r$ is
- \[
- (-\infty,2)\cup(2,\infty)
- \]
- and that $r$ must have a hole at $2$.
-
- Mohammed and Sue are very grateful for the clarification, and conclude that
- the graph of $r$ is shown in \cref{rat:fig:hole1}.
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-4,...,8},
- ytick={-8,-4,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot expression[domain=-10:7]{x+3};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:hole}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-4,...,8},
- ytick={-8,-4,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot expression[domain=-10:7]{x+3};
- \addplot[holdot] coordinates{(2,5)};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:hole1}
- \end{minipage}%
- \end{figure}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}
- Consider the function $f$ that has formula
- \[
- f(x)=\frac{x(x+3)}{x^2-4x}
- \]
- The domain of $f$ is $(-\infty,0)\cup(0,4)\cup(4,\infty)$ because both $0$ and $4$
- make the denominator equal to $0$. Notice that
- \begin{align*}
- f(x) & = \frac{x(x+3)}{x(x-4)} \\
- & = \frac{x+3}{x-4}
- \end{align*}
- provided that $x\ne 0$. Since $0$ makes the numerator
- and the denominator 0 at the same time, we say that $f$ has a hole at $(0,-\nicefrac{3}{4})$.
- Note that this necessarily means that $f$ does not have a vertical intercept.
-
- We also note $f$ has a vertical asymptote at $4$; the function is graphed in \cref{rat:fig:holeex}.
- \begin{figure}[!htb]
- \centering
- \begin{tikzpicture}[/pgf/declare function={f=(x+3)/(x-4);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- ]
- \addplot[pccplot] expression[domain=-10:3.36364,samples=50]{f};
- \addplot[pccplot] expression[domain=4.77:10]{f};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[holdot]coordinates{(0,-0.75)};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x(x+3)}{x^2-4x}$}
- \label{rat:fig:holeex}
- \end{figure}
- \end{pccexample}
-
-
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Minimums and maximums]
- \pccname{Seamus} and \pccname{Trang} are discussing rational functions. Seamus says that
- if a rational function has a vertical asymptote, then it can
- not possibly have local minimums and maximums, nor can it have
- global minimums and maximums.
-
- Trang says this statement is not always true. She plots the functions
- $f$ and $g$ that have formulas
- \[
- f(x)=-\frac{32(x-1)(x+1)}{(x-2)^2(x+2)^2}, \qquad g(x)=\frac{32(x-1)(x+1)}{(x-2)^2(x+2)^2}
- \]
- in \cref{rat:fig:minmax1,rat:fig:minmax2} and shows them to Seamus. On seeing the graphs,
- Seamus quickly corrects himself, and says that $f$ has a local (and global)
- maximum of $2$ at $0$, and that $g$ has a local (and global) minimum of $-2$ at $0$.
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=-32*(x-1)*(x+1)/(( x-2)^2*(x+2)^2);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.01]{f};
- \addplot[pccplot] expression[domain=-1.45:1.45]{f};
- \addplot[pccplot] expression[domain=3.01:10]{f};
- \addplot[soldot] coordinates{(-1,0)(1,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=f(x)$}
- \label{rat:fig:minmax1}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=32*(x-1)*(x+1)/(( x-2)^2*(x+2)^2);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.01]{f};
- \addplot[pccplot] expression[domain=-1.45:1.45]{f};
- \addplot[pccplot] expression[domain=3.01:10]{f};
- \addplot[soldot] coordinates{(-1,0)(1,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=g(x)$}
- \label{rat:fig:minmax2}
- \end{minipage}%
- \end{figure}
-
- Seamus also notes that (in its domain) the function $f$ is always concave down, and
- that (in its domain) the function $g$ is always concave up. Furthermore, Trang
- observes that each function behaves like $\frac{1}{x^2}$ around each of its vertical
- asymptotes, because each linear factor in the denominator is raised to the power $2$.
-
- \pccname{Oscar} stops by and reminds both students about the long-run behavior; according
- to \cref{rat:def:longrun} since the degree of the denominator is greater than the
- degree of the numerator (in both functions), each function has a horizontal asymptote
- at $y=0$.
- \end{pccexample}
-
-
- \investigation*{}
- %===================================
- % Author: Pettit/Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[The spaghetti incident]
- The same Queen from \vref{exp:prob:queenschessboard} has recovered from
- the rice experiments, and has called her loyal jester for another challenge.
-
- The jester has an $11-$inch piece of uncooked spaghetti that he puts on a table;
- he uses a book to cover $\unit[1]{inch}$ of it so that
- $\unit[10]{inches}$ hang over the edge. The jester then produces a box of $\unit{mg}$
- weights that can be hung from the spaghetti.
-
- The jester says it will take $\unit[y]{mg}$ to break the spaghetti when hung
- $\unit[x]{inches}$ from the edge, according to the rule $y=\frac{100}{x}$.
- \begin{margintable}
- \centering
- \captionof{table}{}
- \label{rat:tab:spaghetti}
- \begin{tabular}{cc}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $1$ & \\\normalline
- $2$ & \\\normalline
- $3$ & \\\normalline
- $4$ & \\\normalline
- $5$ & \\\normalline
- $6$ & \\\normalline
- $7$ & \\\normalline
- $8$ & \\\normalline
- $9$ & \\\normalline
- $10$ & \\\lastline
- \end{tabular}
- \end{margintable}
- \begin{subproblem}\label{rat:prob:spaggt1}
- Help the Queen complete \cref{rat:tab:spaghetti}, and use $2$ digits after the decimal
- where appropriate.
- \begin{shortsolution}
- \begin{tabular}[t]{ld{2}}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $1$ & 100 \\\normalline
- $2$ & 50 \\\normalline
- $3$ & 33.33 \\\normalline
- $4$ & 25 \\\normalline
- $5$ & 20 \\\normalline
- $6$ & 16.67 \\\normalline
- $7$ & 14.29 \\\normalline
- $8$ & 12.50 \\\normalline
- $9$ & 11.11 \\\normalline
- $10$ & 10 \\\lastline
- \end{tabular}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What do you notice about the number of $\unit{mg}$ that it takes to break
- the spaghetti as $x$ increases?
- \begin{shortsolution}
- It seems that the number of $\unit{mg}$ that it takes to break the spaghetti decreases
- as $x$ increases.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:spaglt1}
- The Queen wonders what happens when $x$ gets very small| help the Queen construct
- a table of values for $x$ and $y$ when $x=0.0001, 0.001, 0.01, 0.1, 0.5, 1$.
- \begin{shortsolution}
- \begin{tabular}[t]{d{2}l}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- 0.0001 & $1000000$ \\\normalline
- 0.001 & $100000$ \\\normalline
- 0.01 & $10000$ \\\normalline
- 0.1 & $1000$ \\\normalline
- 0.5 & $200$ \\\normalline
- 1 & $100$ \\\lastline
- \end{tabular}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What do you notice about the number of $\unit{mg}$ that it takes to break the spaghetti
- as $x\rightarrow 0$? Would it ever make sense to let $x=0$?
- \begin{shortsolution}
- The number of $\unit{mg}$ required to break the spaghetti increases as $x\rightarrow 0$.
- We can not allow $x$ to be $0$, as we can not divide by $0$, and we can not
- be $0$ inches from the edge of the table.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Plot your results from \cref{rat:prob:spaggt1,rat:prob:spaglt1} on the same graph,
- and join the points using a smooth curve| set the maximum value of $y$ as $200$, and
- note that this necessarily means that you will not be able to plot all of the points.
- \begin{shortsolution}
- The graph of $y=\frac{100}{x}$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2,xmax=11,
- ymin=-20,ymax=200,
- xtick={2,4,...,10},
- ytick={20,40,...,180},
- grid=major,
- width=\solutionfigurewidth,
- ]
- \addplot+[-] expression[domain=0.5:10]{100/x};
- \addplot[soldot] coordinates{(0.5,200)(1,100)(2,50)(3,33.33)
- (4,25)(5,20)(16.67)(7,14.29)(8,12.50)(9,11.11)(10,10)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Using your graph, observe what happens to $y$ as $x$ increases. If we could somehow
- construct a piece of uncooked spaghetti that was $\unit[101]{inches}$ long, how many
- $\unit{mg}$ would it take to break the spaghetti?
- \begin{shortsolution}
- As $x$ increases, $y\rightarrow 0$. If we could construct a piece of spaghetti
- $\unit[101]{inches}$ long, it would only take $\unit[1]{mg}$ to break it $\left(\frac{100}{100}=1\right)$. Of course,
- the weight of spaghetti would probably cause it to break without the weight.
- \end{shortsolution}
- \end{subproblem}
- The Queen looks forward to more food-related investigations from her jester.
- \end{problem}
-
-
-
- %===================================
- % Author: Adams (Hughes)
- % Date: March 2012
- %===================================
- \begin{problem}[Debt Amortization]
- To amortize a debt means to pay it off in a given length of time using
- equal periodic payments. The payments include interest on the unpaid
- balance. The following formula gives the monthly payment, $M$, in dollars
- that is necessary to amortize a debt of $P$ dollars in $n$ months
- at a monthly interest rate of $i$
- \[
- M=\frac{P\cdot i}{1-(1+i)^{-n}}
- \]
- Use this formula in each of the following problems.
- \begin{subproblem}
- What monthly payments are necessary on a credit card debt of \$2000 at
- $\unit[1.5]{\%}$ monthly if you want to pay off the debt in $2$ years?
- In one year? How much money will you save by paying off the debt in the
- shorter amount of time?
- \begin{shortsolution}
- Paying off the debt in $2$ years, we use
- \begin{align*}
- M & = \frac{2000\cdot 0.015}{1-(1+0.015)^{-24}} \\
- & \approx 99.85
- \end{align*}
- The monthly payments are \$99.85.
-
- Paying off the debt in $1$ year, we use
- \begin{align*}
- M & = \frac{2000\cdot 0.015}{1-(1+0.015)^{-12}} \\
- & \approx 183.36
- \end{align*}
- The monthly payments are \$183.36
-
- In the $2$-year model we would pay a total of $\$99.85\cdot 12=\$2396.40$. In the
- $1$-year model we would pay a total of $\$183.36\cdot 12=\$2200.32$. We would therefore
- save $\$196.08$ if we went with the $1$-year model instead of the $2$-year model.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- To purchase a home, a family needs a loan of \$300,000 at $\unit[5.2]{\%}$
- annual interest. Compare a $20$ year loan to a $30$ year loan and make
- a recommendation for the family.
- (Note: when given an annual interest rate, it is a common business practice to divide by
- $12$ to get a monthly rate.)
- \begin{shortsolution}
- For the $20$-year loan we use
- \begin{align*}
- M & = \frac{300000\cdot \frac{0.052}{12}}{1-\left( 1+\frac{0.052}{12} \right)^{-12\cdot 20}} \\
- & \approx 2013.16
- \end{align*}
- The monthly payments are \$2013.16.
-
- For the $30$-year loan we use
- \begin{align*}
- M & = \frac{300000\cdot \frac{0.052}{12}}{1-\left( 1+\frac{0.052}{12} \right)^{-12\cdot 30}} \\
- & \approx 1647.33
- \end{align*}
- The monthly payments are \$1647.33.
-
- The total amount paid during the $20$-year loan is $\$2013.16\cdot 12\cdot 20=\$483,158.40$.
- The total amount paid during the $30$-year loan is $\$1647.33\cdot 12\cdot 30=\$593,038.80$.
-
- Recommendation: if you can afford the payments, choose the $20$-year loan.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- \pccname{Ellen} wants to make monthly payments of \$100 to pay off a debt of \$3000
- at \unit[12]{\%} annual interest. How long will it take her to pay off the
- debt?
- \begin{shortsolution}
- We are given $M=100$, $P=3000$, $i=0.01$, and we need to find $n$
- in the equation
- \[
- 100 = \frac{3000\cdot 0.01}{1-(1+0.01)^{-n}}
- \]
- Using logarithms, we find that $n\approx 36$. It will take
- Ellen about $3$ years to pay off the debt.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- \pccname{Jake} is going to buy a new car. He puts \$2000 down and wants to finance the
- remaining \$14,000. The dealer will offer him \unit[4]{\%} annual interest for
- $5$ years, or a \$2000
- rebate which he can use to reduce the amount of the loan and \unit[8]{\%}
- annual interest for 5 years. Which should he choose?
- \begin{shortsolution}
- \begin{description}
- \item[Option 1:] $\unit[4]{\%}$ annual interest for $5$ years on \$14,000.
- This means that the monthly payments will be calculated using
- \begin{align*}
- M & = \frac{14000\cdot \frac{0.04}{12}}{1-\left( 1+\frac{0.04}{12} \right)^{-12\cdot 5}} \\
- & \approx 257.83
- \end{align*}
- The monthly payments will be $\$257.83$. The total amount paid will be
- $\$257.83\cdot 5\cdot 12=\$15,469.80$, of which $\$1469.80$ is interest.
- \item[Option 2:] $\unit[8]{\%}$ annual interest for $5$ years on \$12,000.
- This means that the monthly payments will be calculated using
- \begin{align*}
- M & = \frac{12000\cdot \frac{0.08}{12}}{1-\left( 1+\frac{0.08}{12} \right)^{-12\cdot 5}} \\
- & \approx 243.32
- \end{align*}
- The monthly payments will be $\$243.32$. The total amount paid
- will be $\$243.32\cdot 5\cdot 12 =\$14,599.20$, of which $\$2599.2$ is
- interest.
- \end{description}
- Jake should choose option 1 to minimize the amount of interest
- he has to pay.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Rational or not]
- Decide if each of the following functions are rational or not. If
- they are rational, state their domain.
- \begin{multicols}{3}
- \begin{subproblem}
- $r(x)=\dfrac{3}{x}$
- \begin{shortsolution}
- $r$ is rational; the domain of $r$ is $(-\infty,0)\cup (0,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $s(y)=\dfrac{y}{6}$
- \begin{shortsolution}
- $s$ is not rational ($s$ is linear).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $t(z)=\dfrac{4-x}{7-8z}$
- \begin{shortsolution}
- $t$ is rational; the domain of $t$ is $\left( -\infty,\dfrac{7}{8} \right)\cup \left( \dfrac{7}{8},\infty \right)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $u(w)=\dfrac{w^2}{(w-3)(w+4)}$
- \begin{shortsolution}
- $u$ is rational; the domain of $w$ is $(-\infty,-4)\cup(-4,3)\cup(3,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $v(x)=\dfrac{4}{(x-2)^2}$
- \begin{shortsolution}
- $v$ is rational; the domain of $v$ is $(-\infty,2)\cup(2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $w(x)=\dfrac{9-x}{x+17}$
- \begin{shortsolution}
- $w$ is rational; the domain of $w$ is $(-\infty,-17)\cup(-17,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $a(x)=x^2+4$
- \begin{shortsolution}
- $a$ is not rational ($a$ is quadratic, or a polynomial of degree $2$).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $b(y)=3^y$
- \begin{shortsolution}
- $b$ is not rational ($b$ is exponential).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $c(z)=\dfrac{z^2}{z^3}$
- \begin{shortsolution}
- $c$ is rational; the domain of $c$ is $(-\infty,0)\cup (0,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $d(x)=x^2(x+3)(5x-7)$
- \begin{shortsolution}
- $d$ is not rational ($d$ is a polynomial).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $e(\alpha)=\dfrac{\alpha^2}{\alpha^2-1}$
- \begin{shortsolution}
- $e$ is rational; the domain of $e$ is $(-\infty,-1)\cup(-1,1)\cup(1,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $f(\beta)=\dfrac{3}{4}$
- \begin{shortsolution}
- $f$ is not rational ($f$ is constant).
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Function evaluation]
- Let $r$ be the function that has formula
- \[
- r(x)=\frac{(x-2)(x+3)}{(x+5)(x-7)}
- \]
- Evaluate each of the following (if possible); if the value is undefined,
- then state so.
- \begin{multicols}{4}
- \begin{subproblem}
- $r(0)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(0) & =\frac{(0-2)(0+3)}{(0+5)(0-7)} \\
- & =\frac{-6}{-35} \\
- & =\frac{6}{35}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(1)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(1) & =\frac{(1-2)(1+3)}{(1+5)(1-7)} \\
- & =\frac{-4}{-36} \\
- & =\frac{1}{9}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(2)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(2) & =\frac{(2-2)(2+3)}{(2+5)(2-7)} \\
- & = \frac{0}{-50} \\
- & =0
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(4)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(4) & =\frac{(4-2)(4+3)}{(4+5)(4-7)} \\
- & =\frac{14}{-27} \\
- & =-\frac{14}{27}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(7)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(7) & =\frac{(7-2)(7+3)}{(7+5)(7-7)} \\
- & =\frac{50}{0}
- \end{aligned}$
-
- $r(7)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(-3)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-3) & =\frac{(-3-2)(-3+3)}{(-3+5)(-3-7)} \\
- & =\frac{0}{-20} \\
- & =0
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(-5)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-5) & =\frac{(-5-2)(-5+3)}{(-5+5)(-5-7)} \\
- & =\frac{14}{0}
- \end{aligned}$
-
- $r(-5)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r\left( \frac{1}{2} \right)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r\left( \frac{1}{2} \right) & = \frac{\left( \frac{1}{2}-2 \right)\left( \frac{1}{2}+3 \right)}{\left( \frac{1}{2}+5 \right)\left( \frac{1}{2}-7 \right)} \\
- & =\frac{-\frac{3}{2}\cdot\frac{7}{2}}{\frac{11}{2}\left( -\frac{13}{2} \right)} \\
- & =\frac{-\frac{21}{4}}{-\frac{143}{4}} \\
- & =\frac{37}{143}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Holes or asymptotes?]
- State the domain of each of the following rational functions. Identify
- any holes or asymptotes.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x)=\dfrac{12}{x-2}$
- \begin{shortsolution}
- $f$ has a vertical asymptote at $2$; the domain of $f$ is $(-\infty,2)\cup (2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x)=\dfrac{x^2+x}{(x+1)(x-2)}$
- \begin{shortsolution}
- $g$ has a vertical asymptote at $2$, and a hole at $-1$; the domain of $g$ is $(-\infty,-1)\cup(-1,2)\cup(2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x)=\dfrac{x^2+5x+4}{x^2+x-12}$
- \begin{shortsolution}
- $h$ has a vertical asymptote at $3$, and a whole at $-4$; the domain of $h$ is $(-\infty,-4)\cup(-4,3)\cup(3,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(z)=\dfrac{z+2}{2z-3}$
- \begin{shortsolution}
- $k$ has a vertical asymptote at $\dfrac{3}{2}$; the domain of $k$ is $\left( -\infty,\dfrac{3}{2} \right)\cup\left( \dfrac{3}{2},\infty \right)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(w)=\dfrac{w}{w^2+1}$
- \begin{shortsolution}
- $l$ does not have any vertical asymptotes nor holes; the domain of $w$ is $(-\infty,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(t)=\dfrac{14}{13-t^2}$
- \begin{shortsolution}
- $m$ has vertical asymptotes at $\pm\sqrt{13}$; the domain of $m$ is $(-\infty,\sqrt{13})\cup(-\sqrt{13},\sqrt{13})\cup(\sqrt{13},\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a graph]
- Consider the rational functions graphed in \cref{rat:fig:findformula}. Find
- the vertical asymptotes for each function, together with any zeros, and
- give a possible formula for each.
- \begin{shortsolution}
- \begin{itemize}
- \item \Vref{rat:fig:formula1}: possible formula is $r(x)=\dfrac{1}{x+5}$
- \item \Vref{rat:fig:formula2}: possible formula is $r(x)=\dfrac{(x+3)}{(x-5)}$
- \item \Vref{rat:fig:formula3}: possible formula is $r(x)=\dfrac{1}{(x-4)(x+3)}$.
- \end{itemize}
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x+4);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-4.16667,samples=50]{f};
- \addplot[pccplot] expression[domain=-3.83333:10,samples=50]{f};
- \addplot[asymptote,domain=-6:6]({-4},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x+3)/(x-5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.85714]{f};
- \addplot[pccplot] expression[domain=6.6:10]{f};
- \addplot[soldot] coordinates{(-3,0)};
- \addplot[asymptote,domain=-6:6]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/((x-4)*(x+3));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-3,ymax=3,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.0473]{f};
- \addplot[pccplot] expression[domain=-2.95205:3.95205]{f};
- \addplot[pccplot] expression[domain=4.0473:10]{f};
- \addplot[asymptote,domain=-3:3]({-3},{x});
- \addplot[asymptote,domain=-3:3]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:findformula}
- \end{widepage}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a formula of a rational
- function that has the listed properties.
- \begin{subproblem}
- Vertical asymptote at $2$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{1}{x-2}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Vertical asymptote at $5$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{1}{x-5}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Vertical asymptote at $-2$, and zero at $6$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{x-6}{x+2}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Zeros at $2$ and $-5$ and vertical asymptotes at $1$ and $-7$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{(x-2)(x+5)}{(x-1)(x+7)}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Given formula, find horizontal asymptotes]
- Each of the following functions has a horizontal asymptote. Write the equation
- of the horizontal asymptote for each function.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x) = \dfrac{1}{x}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x) = \dfrac{2x+3}{x}$
- \begin{shortsolution}
- $y=2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x) = \dfrac{x^2+2x}{x^2+3}$
- \begin{shortsolution}
- $y=1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x) = \dfrac{x^2+7}{x}$
- \begin{shortsolution}
- $y=1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(x)=\dfrac{3x-2}{5x+8}$
- \begin{shortsolution}
- $y=\dfrac{3}{5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(x)=\dfrac{3x-2}{5x^2+8}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $n(x)=\dfrac{(6x+1)(x-7)}{(11x-8)(x-5)}$
- \begin{shortsolution}
- $y=\dfrac{6}{11}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=\dfrac{19x^3}{5-x^4}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(x)=\dfrac{14x^2+x}{1-7x^2}$
- \begin{shortsolution}
- $y=-2$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{problem}[Given horizontal asymptotes, find formula]
- In each of the following problems, give a formula for a function that
- has the given horizontal asymptote. Note that there may be more than one option.
- \begin{multicols}{4}
- \begin{subproblem}
- $y=7$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{7(x-2)}{x+1}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $7$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-1$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{5-x^2}{x^2+10}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $10$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=53$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{53x^3}{x^3+4x^2-7}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $53$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-17$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{34(x+2)}{7-2x}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $-17$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{3}{2}$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{3x+4}{2(x+1)}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $\dfrac{3}{2}$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=0$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{4}{x}$. Note that there
- are other options, provided that the degree of the numerator is less than the degree
- of the denominator.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-1$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{10x}{5-10x}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $-1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=2$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{8x-3}{4x+1}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $2$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a formula for a function that
- has the prescribed properties. Note that there may be more than one option.
- \begin{subproblem}
- $f(x)\rightarrow 3$ as $x\rightarrow\pm\infty$.
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{3(x-2)}{x+7}$. Note that
- the zero and asymptote of $f$ could be changed, and $f$ would still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(x)\rightarrow -4$ as $x\rightarrow\pm\infty$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{-4(x-2)}{x+7}$. Note that
- the zero and asymptote of $r$ could be changed, and $r$ would still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x)\rightarrow 2$ as $x\rightarrow\pm\infty$, and $k$ has vertical asymptotes at $-3$ and $5$.
- \begin{shortsolution}
- Possible option: $k(x)=\dfrac{2x^2}{(x+3)(x-5)}$. Note that the denominator
- must have the given factors; the numerator could be any degree $2$ polynomial, provided the
- leading coefficient is $2$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: Feb 2011
- %===================================
- \begin{problem}
- Let $r$ be the rational function that has
- \[
- r(x) = \frac{(x+2)(x-1)}{(x+3)(x-4)}
- \]
- Each of the following questions are in relation to this function.
- \begin{subproblem}
- What is the vertical intercept of this function? State your answer as an
- ordered pair. \index{rational functions!vertical intercept}
- \begin{shortsolution}
- $\left(0,\frac{1}{6}\right)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:rational}
- What values of $x$ make the denominator equal to $0$?
- \begin{shortsolution}
- $-3,4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use your answer to \cref{rat:prob:rational} to write the domain of the function in
- both interval, and set builder notation. %\index{rational functions!domain}\index{domain!rational functions}
- \begin{shortsolution}
- Interval notation: $(-\infty,-3)\cup (-3,4)\cup (4,\infty)$.
- Set builder: $\{x|x\ne -3, \mathrm{and}\, x\ne 4\}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What are the vertical asymptotes of the function? State your answers in
- the form $x=$
- \begin{shortsolution}
- $x=-3$ and $x=4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:zeroes}
- What values of $x$ make the numerator equal to $0$?
- \begin{shortsolution}
- $-2,1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use your answer to \cref{rat:prob:zeroes} to write the horizontal intercepts of
- $r$ as ordered pairs.
- \begin{shortsolution}
- $(-2,0)$ and $(1,0)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Holes]
- \pccname{Josh} and \pccname{Pedro} are discussing the function
- \[
- r(x)=\frac{x^2-1}{(x+3)(x-1)}
- \]
- \begin{subproblem}
- What is the domain of $r$?
- \begin{shortsolution}
- The domain of $r$ is $(-\infty,-3)\cup(-3,1)\cup(1,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Josh notices that the numerator can be factored- can you see how?
- \begin{shortsolution}
- $(x^2-1)=(x-1)(x+1)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Pedro asks, `Doesn't that just mean that
- \[
- r(x)=\frac{x+1}{x+3}
- \]
- for all values of $x$?' Josh says, `Nearly\ldots but not for all values of $x$'.
- What does Josh mean?
- \begin{shortsolution}
- $r(x)=\dfrac{x+1}{x+3}$ provided that $x\ne -1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Where does $r$ have vertical asymptotes, and where does it have holes?
- \begin{shortsolution}
- The function $r$ has a vertical asymptote at $-3$, and a hole at $1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Sketch a graph of $r$.
- \begin{shortsolution}
- A graph of $r$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.25]{(x+1)/(x+3)};
- \addplot[pccplot] expression[domain=-2.75:10]{(x+1)/(x+3)};
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[holdot]coordinates{(1,0.5)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Function algebra]
- Let $r$ and $s$ be the rational functions that have formulas
- \[
- r(x)=\frac{2-x}{x+3}, \qquad s(x)=\frac{x^2}{x-4}
- \]
- Evaluate each of the following (if possible).
- \begin{multicols}{4}
- \begin{subproblem}
- $(r+s)(5)$
- \begin{shortsolution}
- $\frac{197}{8}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r-s)(3)$
- \begin{shortsolution}
- $\frac{53}{6}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r\cdot s)(4)$
- \begin{shortsolution}
- Undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\left( \frac{r}{s} \right)(1)$
- \begin{shortsolution}
- $-\frac{3}{4}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Transformations: given the transformation, find the formula]
- Let $r$ be the rational function that has formula.
- \[
- r(x)=\frac{x+5}{2x-3}
- \]
- In each of the following problems apply the given transformation to the function $r$ and
- write a formula for the transformed version of $r$.
- \begin{multicols}{2}
- \begin{subproblem}
- Shift $r$ to the right by $3$ units.
- \begin{shortsolution}
- $r(x-3)=\frac{x+2}{2x-9}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ to the left by $4$ units.
- \begin{shortsolution}
- $r(x+4)=\frac{x+9}{2x+5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ up by $\pi$ units.
- \begin{shortsolution}
- $r(x)+\pi=\frac{x+5}{2x-3}+\pi$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ down by $17$ units.
- \begin{shortsolution}
- $r(x)-17=\frac{x+5}{2x-3}-17$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $r$ over the horizontal axis.
- \begin{shortsolution}
- $-r(x)=-\frac{x+5}{2x-3}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $r$ over the vertical axis.
- \begin{shortsolution}
- $r(-x)=\frac{x-5}{2x+3}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a table]\label{rat:prob:findformula}
- \Crefrange{rat:tab:findformular}{rat:tab:findformulau} show values of rational functions $r$, $q$, $s$,
- and $t$. Assume that any values marked with an X are undefined.
-
- \begin{table}[!htb]
- \begin{widepage}
- \centering
- \caption{Tables for \cref{rat:prob:findformula}}
- \label{rat:tab:findformula}
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=r(x)$}
- \label{rat:tab:findformular}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{7}{2}$ \\\normalline
- $-3$ & $-18$ \\\normalline
- $-2$ & X \\\normalline
- $-1$ & $-4$ \\\normalline
- $0$ & $\nicefrac{-3}{2}$ \\\normalline
- $1$ & $\nicefrac{-2}{3}$ \\\normalline
- $2$ & $\nicefrac{-1}{4}$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $\nicefrac{1}{6}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=s(x)$}
- \label{rat:tab:findformulas}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{-2}{21}$ \\\normalline
- $-3$ & $\nicefrac{-1}{12}$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & X \\\normalline
- $0$ & $\nicefrac{-2}{3}$ \\\normalline
- $1$ & $\nicefrac{-3}{4}$ \\\normalline
- $2$ & $\nicefrac{-4}{3}$ \\\normalline
- $3$ & X \\\normalline
- $4$ & $\nicefrac{6}{5}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=t(x)$}
- \label{rat:tab:findformulat}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{3}{5}$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & X \\\normalline
- $-1$ & $3$ \\\normalline
- $0$ & $3$ \\\normalline
- $1$ & X \\\normalline
- $2$ & $0$ \\\normalline
- $3$ & $\nicefrac{3}{5}$ \\\normalline
- $4$ & $\nicefrac{7}{9}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=u(x)$}
- \label{rat:tab:findformulau}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{16}{7}$ \\\normalline
- $-3$ & X \\\normalline
- $-2$ & $-\nicefrac{4}{5}$ \\\normalline
- $-1$ & $-\nicefrac{1}{8}$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $-\nicefrac{1}{8}$ \\\normalline
- $2$ & $-\nicefrac{4}{5}$ \\\normalline
- $3$ & X \\\normalline
- $4$ & $\nicefrac{16}{7}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \end{widepage}
- \end{table}
- \begin{subproblem}
- Given that the formula for $r(x)$ has the form $r(x)=\dfrac{x-A}{x-B}$, use \cref{rat:tab:findformular}
- to find values of $A$ and $B$.
- \begin{shortsolution}
- $A=3$ and $B=-2$, so $r(x)=\dfrac{x-3}{x+2}$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Check your formula by computing $r(x)$ at the values specified in the table.
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-4) & = \frac{-4-3}{-4+2} \\
- & = \frac{7}{2} \\
- \end{aligned}$
-
- $r(-3)=\ldots$ etc
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- The function $s$ in \cref{rat:tab:findformulas} has two vertical asymptotes and one zero.
- Can you find a formula for $s(x)$?
- \begin{shortsolution}
- $s(x)=\dfrac{x+2}{(x-3)(x+1)}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Check your formula by computing $s(x)$ at the values specified in the table.
- \begin{shortsolution}
- $\begin{aligned}[t]
- s(-4) & =\frac{-4+2}{(-4-3)(-4+1)} \\
- & =-\frac{2}{21}
- \end{aligned}$
-
- $s(-3)=\ldots$ etc
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that the formula for $t(x)$ has the form $t(x)=\dfrac{(x-A)(x-B)}{(x-C)(x-D)}$, use \cref{rat:tab:findformulat} to find the
- values of $A$, $B$, $C$, and $D$; hence write a formula for $t(x)$.
- \begin{shortsolution}
- $t(x)=\dfrac{(x+3)(x-2)}{(x+2)(x+1)}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that the formula for $u(x)$ has the form $u(x)=\dfrac{(x-A)^2}{(x-B)(x-C)}$, use \cref{rat:tab:findformulau} to find the
- values of $A$, $B$, and $C$; hence write a formula for $u(x)$.
- \begin{shortsolution}
- $u(x)=\dfrac{x^2}{(x+3)(x-3)}$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Graphing rational functions (horizontal asymptotes)}
- \reformatstepslist{R} % the steps list should be R1, R2, \ldots
- We studied rational functions in the previous section, but were
- not asked to graph them; in this section we will demonstrate the
- steps to be followed in order to sketch graphs of the functions.
-
- Remember from \vref{rat:def:function} that rational functions have
- the form
- \[
- r(x)=\frac{p(x)}{q(x)}
- \]
- In this section we will restrict attention to the case when
- \[
- \text{degree of }p\leq \text{degree of }q
- \]
- Note that this necessarily means that each function that we consider
- in this section \emph{will have a horizontal asymptote} (see \vref{rat:def:longrun}).
- The cases in which the degree of $p$ is greater than the degree of $q$
- is covered in the next section.
-
- Before we begin, it is important to remember the following:
- \begin{itemize}
- \item Our sketches will give a good representation of the overall
- shape of the graph, but until we have the tools of calculus (from MTH 251)
- we can not find local minimums, local maximums, and inflection points algebraically. This
- means that we will make our best guess as to where these points are.
- \item We will not concern ourselves too much with the vertical scale (because of
- our previous point)| we will, however, mark the vertical intercept (assuming there is one),
- and any horizontal asymptotes.
- \end{itemize}
- \begin{pccspecialcomment}[Steps to follow when sketching rational functions]\label{rat:def:stepsforsketch}
- \begin{steps}
- \item \label{rat:step:first} Find all vertical asymptotes and holes, and mark them on the
- graph using dashed vertical lines and open circles $\circ$ respectively.
- \item Find any intercepts, and mark them using solid circles $\bullet$;
- determine if the curve cuts the axis, or bounces off it at each zero.
- \item Determine the behavior of the function around each asymptote| does
- it behave like $\frac{1}{x}$ or $\frac{1}{x^2}$?
- \item \label{rat:step:penultimate} Determine the long-run behavior of the function, and mark the horizontal
- asymptote using a dashed horizontal line.
- \item \label{rat:step:last} Deduce the overall shape of the curve, and sketch it. If there isn't
- enough information from the previous steps, then construct a table of values
- including sample points from each branch.
- \end{steps}
- Remember that until we have the tools of calculus, we won't be able to
- find the exact coordinates of local minimums, local maximums, and points
- of inflection.
- \end{pccspecialcomment}
-
- The examples that follow show how \crefrange{rat:step:first}{rat:step:last} can be
- applied to a variety of different rational functions.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:1overxminus2p2}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $r$
- that has formula
- \[
- r(x)=\frac{1}{x-2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $r$ has a vertical asymptote at $2$; $r$ does not have any holes. The curve of
- $r$ will have $2$ branches.
- \item $r$ does not have any zeros since the numerator is never equal to $0$. The
- vertical intercept of $r$ is $\left( 0,-\frac{1}{2} \right)$.
- \item $r$ behaves like $\frac{1}{x}$ around its vertical asymptote since $(x-2)$
- is raised to the power $1$.
- \item Since the degree of the numerator is less than the degree of the denominator,
- according to \vref{rat:def:longrun} the horizontal asymptote of $r$ has equation $y=0$.
- \item We put the details we have obtained so far on \cref{rat:fig:1overxminus2p1}. Notice
- that there is only one way to complete the graph, which we have done in \cref{rat:fig:1overxminus2p2}.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-5:5]({2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \addplot[soldot] coordinates{(0,-0.5)}node[axisnode,anchor=north east]{$\left( 0,-\frac{1}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxminus2p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x-2);}]
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:1.8,samples=50]{f};
- \addplot[pccplot] expression[domain=2.2:5]{f};
- \addplot[asymptote,domain=-5:5]({2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \addplot[soldot] coordinates{(0,-0.5)}node[axisnode,anchor=north east]{$\left( 0,-\frac{1}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxminus2p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{x-2}$}
- \end{figure}
-
- The function $r$ in \cref{rat:ex:1overxminus2p2} has a horizontal asymptote which has equation $y=0$.
- This asymptote lies on the horizontal axis, and you might (understandably) find it hard
- to distinguish between the two lines (\cref{rat:fig:1overxminus2p2}). When faced
- with such a situation, it is perfectly acceptable to draw the horizontal axis
- as a dashed line| just make sure to label it correctly. We will demonstrate this
- in the next example.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:1overxp1}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $v$
- that has formula
- \[
- v(x)=\frac{10}{x}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $v$ has a vertical asymptote at $0$. $v$ does not have
- any holes. The curve of $v$ will have $2$ branches.
- \item $v$ does not have any zeros (since $10\ne 0$). Furthermore, $v$
- does not have a vertical intercept since $v(0)$ is undefined.
- \item $v$ behaves like $\frac{1}{x}$ around its vertical asymptote.
- \item $v$ has a horizontal asymptote with equation $y=0$.
- \item We put the details we have obtained so far in \cref{rat:fig:1overxp1}.
- We do not have enough information to sketch $v$ yet (because $v$ does
- not have any intercepts), so let's pick a sample
- point in either of the $2$ branches| it doesn't matter where our sample point
- is, because we know what the overall shape will be. Let's compute $v(2)$
- \begin{align*}
- v(2) & =\dfrac{10}{2} \\
- & = 5
- \end{align*}
- We therefore mark the point $(2,5)$ on \cref{rat:fig:1overxp2}, and then complete the sketch using
- the details we found in the previous steps.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-5,5},
- ytick={-5,5},
- axis line style={color=white},
- width=\textwidth,
- ]
- \addplot[asymptote,<->,domain=-10:10]({0},{x});
- \addplot[asymptote,<->,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=10/x;}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-5,5},
- ytick={-5,5},
- axis line style={color=white},
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-1]{f};
- \addplot[pccplot] expression[domain=1:10]{f};
- \addplot[soldot] coordinates{(2,5)}node[axisnode,anchor=south west]{$(2,5)$};
- \addplot[asymptote,<->,domain=-10:10]({0},{x});
- \addplot[asymptote,<->,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxp2}
- \end{subfigure}%
- \caption{$y=\dfrac{10}{x}$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:asympandholep1}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $u$
- that has formula
- \[
- u(x)=\frac{-4(x^2-9)}{x^2-8x+15}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item We begin by factoring both the numerator and denominator of $u$ to help
- us find any vertical asymptotes or holes
- \begin{align*}
- u(x) & =\frac{-4(x^2-9)}{x^2-8x+15} \\
- & =\frac{-4(x+3)(x-3)}{(x-5)(x-3)} \\
- & =\frac{-4(x+3)}{x-5}
- \end{align*}
- provided that $x\ne 3$. Therefore $u$ has a vertical asymptote at $5$ and
- a hole at $3$. The curve of $u$ has $2$ branches.
- \item $u$ has a simple zero at $-3$. The vertical intercept of $u$ is $\left( 0,\frac{12}{5} \right)$.
- \item $u$ behaves like $\frac{1}{x}$ around its vertical asymptote at $4$.
- \item Using \vref{rat:def:longrun} the equation of the horizontal asymptote of $u$ is $y=-4$.
- \item We put the details we have obtained so far on \cref{rat:fig:1overxminus2p1}. Notice
- that there is only one way to complete the graph, which we have done in \cref{rat:fig:1overxminus2p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,10},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-20:20]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-4});
- \addplot[soldot] coordinates{(-3,0)(0,2.4)}node[axisnode,anchor=south east]{$\left( 0,\frac{12}{5} \right)$};
- \addplot[holdot] coordinates{(3,12)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:asympandholep1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=-4*(x+3)/(x-5);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,10},
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.6666,samples=50]{f};
- \addplot[pccplot] expression[domain=7:10]{f};
- \addplot[asymptote,domain=-20:20]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{-4});
- \addplot[soldot] coordinates{(-3,0)(0,2.4)}node[axisnode,anchor=south east]{$\left( 0,\frac{12}{5} \right)$};
- \addplot[holdot] coordinates{(3,12)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:asympandholep2}
- \end{subfigure}%
- \caption{$y=\dfrac{-4(x+3)}{x-5}$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- \Cref{rat:ex:1overxminus2p2,rat:ex:1overxp1,rat:ex:asympandholep1} have focused on functions
- that only have one vertical asymptote; the remaining examples in this section
- concern functions that have more than one vertical asymptote. We will demonstrate
- that \crefrange{rat:step:first}{rat:step:last} still apply.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:sketchtwoasymp}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $w$
- that has formula
- \[
- w(x)=\frac{2(x+3)(x-5)}{(x+5)(x-4)}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $w$ has vertical asymptotes at $-5$ and $4$. $w$ does not have
- any holes. The curve of $w$ will have $3$ branches.
- \item $w$ has simple zeros at $-3$ and $5$. The vertical intercept of $w$
- is $\left( 0,\frac{3}{2} \right)$.
- \item $w$ behaves like $\frac{1}{x}$ around both of its vertical
- asymptotes.
- \item The degree of the numerator of $w$ is $2$ and the degree of the
- denominator of $w$ is also $2$. Using the ratio of the leading coefficients
- of the numerator and denominator, we say that $w$ has a horizontal
- asymptote with equation $y=\frac{2}{1}=2$.
- \item We put the details we have obtained so far on \cref{rat:fig:sketchtwoasymptp1}.
-
- The function $w$ is a little more complicated than the functions that
- we have considered in the previous examples because the curve has $3$
- branches. When graphing such functions, it is generally a good idea to start with the branch
- for which you have the most information| in this case, that is the \emph{middle} branch
- on the interval $(-5,4)$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- (because of our observations about the behavior of $w$ around its vertical asymptotes),
- which we have done in \cref{rat:fig:sketchtwoasymptp2}.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[soldot] coordinates{(-3,0)(5,0)};
- \addplot[soldot] coordinates{(0,1.5)}node[axisnode,anchor=north west]{$\left( 0,\frac{3}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:sketchtwoasymptp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=2*(x+3)*(x-5)/( (x+5)*(x-4));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[soldot] coordinates{(-3,0)(5,0)};
- \addplot[soldot] coordinates{(0,1.5)}node[axisnode,anchor=north west]{$\left( 0,\frac{3}{2} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.56708]{f};
- \addplot[pccplot] expression[domain=-4.63511:3.81708]{f};
- \addplot[pccplot] expression[domain=4.13511:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:sketchtwoasymptp2}
- \end{subfigure}%
- \caption{$y=\dfrac{2(x+3)(x-5)}{(x+5)(x-4)}$}
- \end{figure}
-
- The rational functions that we have considered so far have had simple
- factors in the denominator; each function has behaved like $\frac{1}{x}$
- around each of its vertical asymptotes. \Cref{rat:ex:2asympnozeros,rat:ex:2squaredasymp}
- consider functions that have a repeated factor in the denominator.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:2asympnozeros}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $f$
- that has formula
- \[
- f(x)=\frac{100}{(x+5)(x-4)^2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $f$ has vertical asymptotes at $-5$ and $4$. $f$ does not have
- any holes. The curve of $f$ will have $3$ branches.
- \item $f$ does not have any zeros (since $100\ne 0$). The vertical intercept of $f$
- is $\left( 0,\frac{5}{4} \right)$.
- \item $f$ behaves like $\frac{1}{x}$ around $-5$ and behaves like $\frac{1}{x^2}$
- around $4$.
- \item The degree of the numerator of $f$ is $0$ and the degree of the
- denominator of $f$ is $2$. $f$ has a horizontal asymptote with
- equation $y=0$.
- \item We put the details we have obtained so far on \cref{rat:fig:2asympnozerosp1}.
-
- The function $f$ is similar to the function $w$ that we considered in \cref{rat:ex:sketchtwoasymp}|
- it has two vertical asymptotes and $3$ branches, but in contrast to $w$ it does not have any zeros.
-
- We sketch $f$ in \cref{rat:fig:2asympnozerosp2}, using the middle branch as our guide
- because we have the most information about the function on the interval $(-5,4)$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $f$ around its vertical asymptotes (it behaves like $\frac{1}{x}$),
- which we have done in \cref{rat:fig:2asympnozerosp2}.
-
- Note that we are not yet able to find the local minimum of $f$ algebraically on the interval $(-5,4)$,
- so we make a reasonable guess as to where it is| we can be confident that it is above the horizontal axis
- since $f$ has no zeros. You may think that this is unsatisfactory, but once we have the tools of calculus, we will
- be able to find local minimums more precisely.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(0,1.25)}node[axisnode,anchor=south east]{$\left( 0,\frac{5}{4} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2asympnozerosp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=100/( (x+5)*(x-4)^2);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(0,1.25)}node[axisnode,anchor=south east]{$\left( 0,\frac{5}{4} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.12022]{f};
- \addplot[pccplot] expression[domain=-4.87298:2.87298,samples=50]{f};
- \addplot[pccplot] expression[domain=5:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2asympnozerosp2}
- \end{subfigure}%
- \caption{$y=\dfrac{100}{(x+5)(x-4)^2}$}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:2squaredasymp}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $g$
- that has formula
- \[
- g(x)=\frac{50(2-x)}{(x+3)^2(x-5)^2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $g$ has vertical asymptotes at $-3$ and $5$. $g$ does
- not have any holes. The curve of $g$ will have $3$ branches.
- \item $g$ has a simple zero at $2$. The vertical intercept of $g$ is
- $\left( 0,\frac{4}{9} \right)$.
- \item $g$ behaves like $\frac{1}{x^2}$ around both of its
- vertical asymptotes.
- \item The degree of the numerator of $g$ is $1$ and the degree of the denominator
- of $g$ is $4$. Using \vref{rat:def:longrun}, we calculate that
- the horizontal asymptote of $g$ has equation $y=0$.
- \item The details that we have found so far have been drawn in
- \cref{rat:fig:2squaredasymp1}. The function $g$ is similar to the functions
- we considered in \cref{rat:ex:sketchtwoasymp,rat:ex:2asympnozeros} because
- it has $2$ vertical asymptotes and $3$ branches.
-
- We sketch $g$ using the middle branch as our guide because we have the most information
- about $g$ on the interval $(-3,5)$. Note that there is no other way to draw this branch
- without introducing other zeros which $g$ does not have.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $g$ around its vertical asymptotes| it
- behaves like $\frac{1}{x^2}$.
-
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(2,0)(0,4/9)}node[axisnode,anchor=south west]{$\left( 0,\frac{4}{9} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2squaredasymp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=50*(2-x)/( (x+3)^2*(x-5)^2);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(2,0)(0,4/9)}node[axisnode,anchor=south west]{$\left( 0,\frac{4}{9} \right)$};
- \addplot[pccplot] expression[domain=-10:-3.61504]{f};
- \addplot[pccplot] expression[domain=-2.3657:4.52773]{f};
- \addplot[pccplot] expression[domain=5.49205:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2squaredasymp2}
- \end{subfigure}%
- \caption{$y=\dfrac{50(2-x)}{(x+3)^2(x-5)^2}$}
- \end{figure}
-
- Each of the rational functions that we have considered so far has had either
- a \emph{simple} zero, or no zeros at all. Remember from our work on polynomial
- functions, and particularly \vref{poly:def:multzero}, that a \emph{repeated} zero
- corresponds to the curve of the function behaving differently at the zero
- when compared to how the curve behaves at a simple zero. \Cref{rat:ex:doublezero} details a
- function that has a non-simple zero.
-
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}\label{rat:ex:doublezero}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $g$
- that has formula
- \[
- h(x)=\frac{(x-3)^2}{(x+4)(x-6)}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $h$ has vertical asymptotes at $-4$ and $6$. $h$ does
- not have any holes. The curve of $h$ will have $3$ branches.
- \item $h$ has a zero at $3$ that has \emph{multiplicity $2$}.
- The vertical intercept of $h$ is
- $\left( 0,-\frac{3}{8} \right)$.
- \item $h$ behaves like $\frac{1}{x}$ around both of its
- vertical asymptotes.
- \item The degree of the numerator of $h$ is $2$ and the degree of the denominator
- of $h$ is $2$. Using \vref{rat:def:longrun}, we calculate that
- the horizontal asymptote of $h$ has equation $y=1$.
- \item The details that we have found so far have been drawn in
- \cref{rat:fig:doublezerop1}. The function $h$ is different
- from the functions that we have considered in previous examples because
- of the multiplicity of the zero at $3$.
-
- We sketch $h$ using the middle branch as our guide because we have the most information
- about $h$ on the interval $(-4,6)$. Note that there is no other way to draw this branch
- without introducing other zeros which $h$ does not have| also note how
- the curve bounces off the horizontal axis at $3$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $h$ around its vertical asymptotes| it
- behaves like $\frac{1}{x}$.
-
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-3,3},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-4},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot] coordinates{(3,0)(0,-3/8)}node[axisnode,anchor=north west]{$\left( 0,-\frac{3}{8} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:doublezerop1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-3)^2/((x+4)*(x-6));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-3,3},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-4},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot] coordinates{(3,0)(0,-3/8)}node[axisnode,anchor=north west]{$\left( 0,-\frac{3}{8} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.20088]{f};
- \addplot[pccplot] expression[domain=-3.16975:5.83642,samples=50]{f};
- \addplot[pccplot] expression[domain=6.20088:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:doublezerop2}
- \end{subfigure}%
- \caption{$y=\dfrac{(x-3)^2}{(x+4)(x-6)}$}
- \end{figure}
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{rat:step:last}]\label{rat:prob:deduce}
- \pccname{Katie} is working on graphing rational functions. She
- has been concentrating on functions that have the form
- \begin{equation}\label{rat:eq:deducecurve}
- f(x)=\frac{a(x-b)}{x-c}
- \end{equation}
- Katie notes that functions with this type of formula have a zero
- at $b$, and a vertical asymptote at $c$. Furthermore, these functions
- behave like $\frac{1}{x}$ around their vertical asymptote, and the
- curve of each function will have $2$ branches.
-
- Katie has been working with $3$ functions that have the form given
- in \cref{rat:eq:deducecurve}, and has followed \crefrange{rat:step:first}{rat:step:penultimate};
- her results are shown in \cref{rat:fig:deducecurve}. There is just one
- more thing to do to complete the graphs| follow \cref{rat:step:last}.
- Help Katie finish each graph by deducing the curve of each function.
- \begin{shortsolution}
- \Vref{rat:fig:deducecurve1}
-
- \begin{tikzpicture}[/pgf/declare function={f=3*(x+4)/(x+5);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,12/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \addplot[pccplot] expression[domain=-10:-5.42857]{f};
- \addplot[pccplot] expression[domain=-4.76923:10,samples=50]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducecurve2}
-
- \begin{tikzpicture}[/pgf/declare function={f=-3*(x-2)/(x-4);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(2,0)(0,-3/2)};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-3});
- \addplot[pccplot] expression[domain=-10:3.53846,samples=50]{f};
- \addplot[pccplot] expression[domain=4.85714:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducecurve4}
-
- \begin{tikzpicture}[/pgf/declare function={f=2*(x-6)/(x-4);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(6,0)(0,3)};
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[pccplot] expression[domain=-10:3.5,samples=50]{f};
- \addplot[pccplot] expression[domain=4.3333:10]{f};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,12/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(2,0)(0,-3/2)};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve2}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(6,0)(0,3)};
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve4}
- \end{subfigure}
- \caption{Graphs for \cref{rat:prob:deduce}}
- \label{rat:fig:deducecurve}
- \end{widepage}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{rat:step:last} for more complicated rational functions]\label{rat:prob:deducehard}
- \pccname{David} is also working on graphing rational functions, and
- has been concentrating on functions that have the form
- \[
- r(x)=\frac{a(x-b)(x-c)}{(x-d)(x-e)}
- \]
- David notices that functions with this type of formula have simple zeros
- at $b$ and $c$, and vertical asymptotes at $d$ and $e$. Furthermore,
- these functions behave like $\frac{1}{x}$ around both vertical asymptotes,
- and the curve of the function will have $3$ branches.
-
- David has followed \crefrange{rat:step:first}{rat:step:penultimate} for
- $3$ separate functions, and drawn the results in \cref{rat:fig:deducehard}.
- Help David finish each graph by deducing the curve of each function.
- \begin{shortsolution}
- \Vref{rat:fig:deducehard1}
-
- \begin{tikzpicture}[/pgf/declare function={f=(x-6)*(x+3)/( (x-4)*(x+1));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(6,0)(0,9/2)};
- \addplot[asymptote,domain=-10:10]({-1},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[pccplot] expression[domain=-10:-1.24276]{f};
- \addplot[pccplot] expression[domain=-0.6666:3.66667]{f};
- \addplot[pccplot] expression[domain=4.24276:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducehard2}
-
- \begin{tikzpicture}[/pgf/declare function={f=3*(x-2)*(x+3)/( (x-6)*(x+5));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(2,0)(0,3/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \addplot[pccplot] expression[domain=-10:-5.4861]{f};
- \addplot[pccplot] expression[domain=-4.68395:5.22241]{f};
- \addplot[pccplot] expression[domain=7.34324:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducehard3}
-
- \begin{tikzpicture}[/pgf/declare function={f=2*(x-7)*(x+3)/( (x+6)*(x-5));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(7,0)(0,1.4)};
- \addplot[asymptote,domain=-10:10]({-6},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[pccplot] expression[domain=-10:-6.91427]{f};
- \addplot[pccplot] expression[domain=-5.42252:4.66427]{f};
- \addplot[pccplot] expression[domain=5.25586:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(6,0)(0,9/2)};
- \addplot[asymptote,domain=-10:10]({-1},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(2,0)(0,3/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard2}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(7,0)(0,1.4)};
- \addplot[asymptote,domain=-10:10]({-6},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard3}
- \end{subfigure}%
- \hfill
- \caption{Graphs for \cref{rat:prob:deducehard}}
- \label{rat:fig:deducehard}
- \end{widepage}
- \end{figure}
- %===================================
- % Author: Adams (Hughes)
- % Date: March 2012
- %===================================
- \begin{problem}[\Crefrange{rat:step:first}{rat:step:last}]
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of
- each of the following functions
- \fixthis{need 2 more subproblems here}
- \begin{multicols}{4}
- \begin{subproblem}
- $y=\dfrac{4}{x+2}$
- \begin{shortsolution}
- Vertical intercept: $(0,2)$; vertical asymptote: $x=-2$, horizontal asymptote: $y=0$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.8]{4/(x+2)};
- \addplot[pccplot] expression[domain=-1.2:5]{4/(x+2)};
- \addplot[soldot]coordinates{(0,2)};
- \addplot[asymptote,domain=-5:5]({-2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{2x-1}{x^2-9}$
- \begin{shortsolution}
- Vertical intercept:$\left( 0,\frac{1}{9} \right)$;
- horizontal intercept: $\left( \frac{1}{2},0 \right)$;
- vertical asymptotes: $x=-3$, $x=3$, horizontal asymptote: $y=0$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-3.23974]{(2*x-1)/(x^2-9)};
- \addplot[pccplot,samples=50] expression[domain=-2.77321:2.83974]{(2*x-1)/(x^2-9)};
- \addplot[pccplot] expression[domain=3.17321:5]{(2*x-1)/(x^2-9)};
- \addplot[soldot]coordinates{(0,1/9)(1/2,0)};
- \addplot[asymptote,domain=-5:5]({-3},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{x+3}{x-5}$
- \begin{shortsolution}
- Vertical intercept $\left( 0,-\frac{3}{5} \right)$; horizontal
- intercept: $(-3,0)$; vertical asymptote: $x=5$; horizontal asymptote: $y=1$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.666]{(x+3)/(x-5)};
- \addplot[pccplot] expression[domain=7:10]{(x+3)/(x-5)};
- \addplot[asymptote,domain=-5:5]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot]coordinates{(0,-3/5)(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{2x+3}{3x-1}$
- \begin{shortsolution}
- Vertical intercept: $(0,-3)$; horizontal intercept: $\left( -\frac{3}{2},0 \right)$;
- vertical asymptote: $x=\frac{1}{3}$, horizontal asymptote: $y=\frac{2}{3}$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(2*x+3)/(3*x-1);}]
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:0.1176]{f};
- \addplot[pccplot] expression[domain=0.6153:5]{f};
- \addplot[asymptote,domain=-5:5]({1/3},{x});
- \addplot[asymptote,domain=-5:5]({x},{2/3});
- \addplot[soldot]coordinates{(0,-3)(-3/2,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{4-x^2}{x^2-9}$
- \begin{shortsolution}
- Vertical intercept: $\left( 0,-\frac{4}{9} \right)$;
- horizontal intercepts: $(2,0)$, $(-2,0)$;
- vertical asymptotes: $x=-3$, $x=3$; horizontal asymptote: $y=-1$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(4-x^2)/(x^2-9);}]
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-3.20156]{f};
- \addplot[pccplot,samples=50] expression[domain=-2.85774:2.85774]{f};
- \addplot[pccplot] expression[domain=3.20156:5]{f};
- \addplot[asymptote,domain=-5:5]({-3},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \addplot[asymptote,domain=-5:5]({x},{-1});
- \addplot[soldot] coordinates{(-2,0)(2,0)(0,-4/9)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{(4x+5)(3x-4)}{(2x+5)(x-5)}$
- \begin{shortsolution}
- Vertical intercept: $\left( 0,\frac{4}{5} \right)$;
- horizontal intercepts: $\left( -\frac{5}{4},0 \right)$, $\left( \frac{4}{3},0 \right)$;
- vertical asymptotes: $x=-\frac{5}{2}$, $x=5$; horizontal asymptote: $y=6$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(4*x+5)*(3*x-4)/((2*x+5)*(x-5));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,0,...,10},
- minor ytick={-15,-5,...,15},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:-2.73416]{f};
- \addplot[pccplot] expression[domain=-2.33689:4.2792]{f};
- \addplot[pccplot] expression[domain=6.26988:10]{f};
- \addplot[asymptote,domain=-20:20]({-5/2},{x});
- \addplot[asymptote,domain=-20:20]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{6});
- \addplot[soldot]coordinates{(0,4/5)(-5/4,0)(4/3,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Inverse functions]
- Each of the following rational functions are invertible
- \[
- F(x)=\frac{2x+1}{x-3}, \qquad G(x)= \frac{1-4x}{x+3}
- \]
- \begin{subproblem}
- State the domain of each function.
- \begin{shortsolution}
- \begin{itemize}
- \item The domain of $F$ is $(-\infty,3)\cup(3,\infty)$.
- \item The domain of $G$ is $(-\infty,-3)\cup(-3,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Find the inverse of each function, and state its domain.
- \begin{shortsolution}
- \begin{itemize}
- \item $F^{-1}(x)=\frac{3x+1}{x-2}$; the domain of $F^{-1}$ is $(-\infty,2)\cup(2,\infty)$.
- \item $G^{-1}(x)=\frac{3x+1}{x+4}$; the domain of $G^{-1}$ is $(-\infty,-4)\cup(-4,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Hence state the range of the original functions.
- \begin{shortsolution}
- \begin{itemize}
- \item The range of $F$ is the domain of $F^{-1}$, which is $(-\infty,2)\cup(2,\infty)$.
- \item The range of $G$ is the domain of $G^{-1}$, which is $(-\infty,-4)\cup(-4,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- State the range of each inverse function.
- \begin{shortsolution}
- \begin{itemize}
- \item The range of $F^{-1}$ is the domain of $F$, which is $(-\infty,3)\cup(3,\infty)$.
- \item The range of $G^{-1}$ is the domain of $G$, which is $(-\infty,-3)\cup(-3,\infty)$.
- \end{itemize}<++>
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Composition]
- Let $r$ and $s$ be the rational functions that have formulas
- \[
- r(x)=\frac{3}{x^2},\qquad s(x)=\frac{4-x}{x+5}
- \]
- Evaluate each of the following.
- \begin{multicols}{3}
- \begin{subproblem}
- $(r\circ s)(0)$
- \begin{shortsolution}
- $\frac{75}{16}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(0)$
- \begin{shortsolution}
- $(s\circ r)(0)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r\circ s)(2)$
- \begin{shortsolution}
- $\frac{147}{4}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(3)$
- \begin{shortsolution}
- $192$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(4)$
- \begin{shortsolution}
- $(s\circ r)(4)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(x)$
- \begin{shortsolution}
- $\dfrac{4x^2-3}{1+5x^2}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Piecewise rational functions]
- The function $R$ has formula
- \[
- R(x)=
- \begin{dcases}
- \frac{2}{x+3}, & x<-5 \\
- \frac{x-4}{x-10}, & x\geq -5
- \end{dcases}
- \]
- Evaluate each of the following.
- \begin{multicols}{4}
- \begin{subproblem}
- $R(-6)$
- \begin{shortsolution}
- $-\frac{2}{3}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(-5)$
- \begin{shortsolution}
- $\frac{3}{5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(-3)$
- \begin{shortsolution}
- $\frac{7}{13}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(5)$
- \begin{shortsolution}
- $-\frac{1}{5}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \begin{subproblem}
- What is the domain of $R$?
- \begin{shortsolution}
- $(-\infty,10)\cup(10,\infty)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Graphing rational functions (oblique asymptotes)}\label{rat:sec:oblique}
- \begin{subproblem}
- $y=\dfrac{x^2+1}{x-4}$
- \begin{shortsolution}
- \begin{enumerate}
- \item $\left( 0,-\frac{1}{4} \right)$
- \item Vertical asymptote: $x=4$.
- \item A graph of the function is shown below
-
- \begin{tikzpicture}[/pgf/declare function={f=(x^2+1)/(x-4);}]
- \begin{axis}[
- framed,
- xmin=-20,xmax=20,
- ymin=-30,ymax=30,
- xtick={-10,10},
- minor xtick={-15,-5,...,15},
- minor ytick={-10,10},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot,samples=50] expression[domain=-20:3.54724]{f};
- \addplot[pccplot,samples=50] expression[domain=4.80196:20]{f};
- \addplot[asymptote,domain=-30:30]({4},{x});
- \end{axis}
- \end{tikzpicture}
- \end{enumerate}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{x^3(x+3)}{x-5}$
- \begin{shortsolution}
- \begin{enumerate}
- \item $(0,0)$, $(-3,0)$
- \item Vertical asymptote: $x=5$, horizontal asymptote: none.
- \item A graph of the function is shown below
-
- \begin{tikzpicture}[/pgf/declare function={f=x^3*(x+3)/(x-5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-500,ymax=2500,
- xtick={-8,-6,...,8},
- ytick={500,1000,1500,2000},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot,samples=50] expression[domain=-10:4]{f};
- \addplot[pccplot] expression[domain=5.6068:9.777]{f};
- \addplot[asymptote,domain=-500:2500]({5},{x});
- \end{axis}
- \end{tikzpicture}
- \end{enumerate}
- \end{shortsolution}
- \end{subproblem}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/sampleBEFORE.tex b/Master/texmf-dist/doc/support/latexindent/success/sampleBEFORE.tex
deleted file mode 100644
index ae704bd4bc1..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/sampleBEFORE.tex
+++ /dev/null
@@ -1,5819 +0,0 @@
-% arara: indent: {overwrite: true, trace: on}
-% A sample chapter file- it contains a lot of
-% environments, including tabulars, align, etc
-%
-% Don't try and compile this file using pdflatex etc, just
-% compare the *format* of it to the format of the
-% sampleAFTER.tex
-%
-% In particular, compare the tabular and align-type
-% environments before and after running the script
-
-\section{Polynomial functions}
- \reformatstepslist{P} % the steps list should be P1, P2, \ldots
- In your previous mathematics classes you have studied \emph{linear} and
- \emph{quadratic} functions. The most general forms of these types of
- functions can be represented (respectively) by the functions $f$
- and $g$ that have formulas
- \begin{equation}\label{poly:eq:linquad}
- f(x)=mx+b, \qquad g(x)=ax^2+bx+c
- \end{equation}
- We know that $m$ is the slope of $f$, and that $a$ is the \emph{leading coefficient}
- of $g$. We also know that the \emph{signs} of $m$ and $a$ completely
- determine the behavior of the functions $f$ and $g$. For example, if $m>0$
- then $f$ is an \emph{increasing} function, and if $m<0$ then $f$ is
- a \emph{decreasing} function. Similarly, if $a>0$ then $g$ is
- \emph{concave up} and if $a<0$ then $g$ is \emph{concave down}. Graphical
- representations of these statements are given in \cref{poly:fig:linquad}.
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{.2\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$m>0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{-(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$m<0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a>0$}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{-(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a<0$}
- \end{subfigure}
- \caption{Typical graphs of linear and quadratic functions.}
- \label{poly:fig:linquad}
- \end{figure}
-
- Let's look a little more closely at the formulas for $f$ and $g$ in
- \cref{poly:eq:linquad}. Note that the \emph{degree}
- of $f$ is $1$ since the highest power of $x$ that is present in the
- formula for $f(x)$ is $1$. Similarly, the degree of $g$ is $2$ since
- the highest power of $x$ that is present in the formula for $g(x)$
- is $2$.
-
- In this section we will build upon our knowledge of these elementary
- functions. In particular, we will generalize the functions $f$ and $g$ to a function $p$ that has
- any degree that we wish.
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{essentialskills}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Quadratic functions]
- Every quadratic function has the form $y=ax^2+bx+c$; state the value
- of $a$ for each of the following functions, and hence decide if the
- parabola that represents the function opens upward or downward.
- \begin{multicols}{2}
- \begin{subproblem}
- $F(x)=x^2+3$
- \begin{shortsolution}
- $a=1$; the parabola opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $G(t)=4-5t^2$
- \begin{shortsolution}
- $a=-5$; the parabola opens downward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $H(y)=4y^2-96y+8$
- \begin{shortsolution}
- $a=4$; the parabola opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $K(z)=-19z^2$
- \begin{shortsolution}
- $m=-19$; the parabola opens downward.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- Now let's generalize our findings for the most general quadratic function $g$
- that has formula $g(x)=a_2x^2+a_1x+a_0$. Complete the following sentences.
- \begin{subproblem}
- When $a_2>0$, the parabola that represents $y=g(x)$ opens $\ldots$
- \begin{shortsolution}
- When $a_2>0$, the parabola that represents the function opens upward.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- When $a_2<0$, the parabola that represents $y=g(x)$ opens $\ldots$
- \begin{shortsolution}
- When $a_2<0$, the parabola that represents the function opens downward.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{essentialskills}
-
- \subsection*{Power functions with positive exponents}
- The study of polynomials will rely upon a good knowledge
- of power functions| you may reasonably ask, what is a power function?
- \begin{pccdefinition}[Power functions]
- Power functions have the form
- \[
- f(x) = a_n x^n
- \]
- where $n$ can be any real number.
-
- Note that for this section we will only be concerned with the
- case when $n$ is a positive integer.
- \end{pccdefinition}
-
- You may find assurance in the fact that you are already very comfortable
- with power functions that have $n=1$ (linear) and $n=2$ (quadratic). Let's
- explore some power functions that you might not be so familiar with.
- As you read \cref{poly:ex:oddpow,poly:ex:evenpow}, try and spot
- as many patterns and similarities as you can.
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Power functions with odd positive exponents]
- \label{poly:ex:oddpow}
- Graph each of the following functions, state their domain, and their
- long-run behavior as $x\rightarrow\pm\infty$
- \[
- f(x)=x^3, \qquad g(x)=x^5, \qquad h(x)=x^7
- \]
- \begin{pccsolution}
- The functions $f$, $g$, and $h$ are plotted in \cref{poly:fig:oddpow}.
- The domain of each of the functions $f$, $g$, and $h$ is $(-\infty,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- f(x)\rightarrow\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow-\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same results hold for $g$ and $h$.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-1.5,xmax=1.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,1.0},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=north west,
- ]
- \addplot expression[domain=-1.5:1.5]{x^3};
- \addplot expression[domain=-1.379:1.379]{x^5};
- \addplot expression[domain=-1.258:1.258]{x^7};
- \addplot[soldot]coordinates{(-1,-1)} node[axisnode,anchor=north west]{$(-1,-1)$};
- \addplot[soldot]coordinates{(1,1)} node[axisnode,anchor=south east]{$(1,1)$};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
- \caption{Odd power functions}
- \label{poly:fig:oddpow}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2.5,xmax=2.5,
- ymin=-5,ymax=5,
- xtick={-2.0,-1.5,...,2.0},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=south east,
- ]
- \addplot expression[domain=-2.236:2.236]{x^2};
- \addplot expression[domain=-1.495:1.495]{x^4};
- \addplot expression[domain=-1.307:1.307]{x^6};
- \addplot[soldot]coordinates{(-1,1)} node[axisnode,anchor=east]{$(-1,1)$};
- \addplot[soldot]coordinates{(1,1)} node[axisnode,anchor=west]{$(1,1)$};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
- \caption{Even power functions}
- \label{poly:fig:evenpow}
- \end{minipage}%
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Power functions with even positive exponents]\label{poly:ex:evenpow}%
- Graph each of the following functions, state their domain, and their
- long-run behavior as $x\rightarrow\pm\infty$
- \[
- F(x)=x^2, \qquad G(x)=x^4, \qquad H(x)=x^6
- \]
- \begin{pccsolution}
- The functions $F$, $G$, and $H$ are plotted in \cref{poly:fig:evenpow}. The domain
- of each of the functions is $(-\infty,\infty)$. Note that the long-run behavior
- of each of the functions is the same, and in particular
- \begin{align*}
- F(x)\rightarrow\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} F(x)\rightarrow\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same result holds for $G$ and $H$.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{doyouunderstand}
- \begin{problem}
- Repeat \cref{poly:ex:oddpow,poly:ex:evenpow} using (respectively)
- \begin{subproblem}
- $f(x)=-x^3, \qquad g(x)=-x^5, \qquad h(x)=-x^7$
- \begin{shortsolution}
- The functions $f$, $g$, and $h$ have domain $(-\infty,\infty)$ and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-1.5,xmax=1.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,0.5},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-1.5:1.5]{-x^3};
- \addplot expression[domain=-1.379:1.379]{-x^5};
- \addplot expression[domain=-1.258:1.258]{-x^7};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- f(x)\rightarrow-\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same is true for $g$ and $h$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $F(x)=-x^2, \qquad G(x)=-x^4, \qquad H(x)=-x^6$
- \begin{shortsolution}
- The functions $F$, $G$, and $H$ have domain $(-\infty,\infty)$ and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2.5,xmax=2.5,
- ymin=-5,ymax=5,
- xtick={-1.0,-0.5,...,0.5},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-2.236:2.236]{-x^2};
- \addplot expression[domain=-1.495:1.495]{-x^4};
- \addplot expression[domain=-1.307:1.307]{-x^6};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- F(x)\rightarrow-\infty & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} F(x)\rightarrow-\infty & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same is true for $G$ and $H$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{doyouunderstand}
-
- \subsection*{Polynomial functions}
- Now that we have a little more familiarity with power functions,
- we can define polynomial functions. Provided that you were comfortable
- with our opening discussion about linear and quadratic functions (see
- $f$ and $g$ in \cref{poly:eq:linquad}) then there is every chance
- that you'll be able to master polynomial functions as well; just remember
- that polynomial functions are a natural generalization of linear
- and quadratic functions. Once you've studied the examples and problems
- in this section, you'll hopefully agree that polynomial functions
- are remarkably predictable.
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccdefinition}[Polynomial functions]
- Polynomial functions have the form
- \[
- p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0
- \]
- where $a_n$, $a_{n-1}$, $a_{n-2}$, \ldots, $a_0$ are real numbers.
- \begin{itemize}
- \item We call $n$ the degree of the polynomial, and require that $n$
- is a non-negative integer;
- \item $a_n$, $a_{n-1}$, $a_{n-2}$, \ldots, $a_0$ are called the coefficients;
- \item We typically write polynomial functions in descending powers of $x$.
- \end{itemize}
- In particular, we call $a_n$ the \emph{leading} coefficient, and $a_nx^n$ the
- \emph{leading term}.
-
- Note that if a polynomial is given in factored form, then the degree can be found
- by counting the number of linear factors.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Polynomial or not]
- Identify the following functions as polynomial or not; if the function
- is a polynomial, state its degree.
- \begin{multicols}{3}
- \begin{enumerate}
- \item $p(x)=x^2-3$
- \item $q(x)=-4x^{\nicefrac{1}{2}}+10$
- \item $r(x)=10x^5$
- \item $s(x)=x^{-2}+x^{23}$
- \item $f(x)=-8$
- \item $g(x)=3^x$
- \item $h(x)=\sqrt[3]{x^7}-x^2+x$
- \item $k(x)=4x(x+2)(x-3)$
- \item $j(x)=x^2(x-4)(5-x)$
- \end{enumerate}
- \end{multicols}
- \begin{pccsolution}
- \begin{enumerate}
- \item $p$ is a polynomial, and its degree is $2$.
- \item $q$ is \emph{not} a polynomial, because $\frac{1}{2}$ is not an integer.
- \item $r$ is a polynomial, and its degree is $5$.
- \item $s$ is \emph{not} a polynomial, because $-2$ is not a positive integer.
- \item $f$ is a polynomial, and its degree is $0$.
- \item $g$ is \emph{not} a polynomial, because the independent
- variable, $x$, is in the exponent.
- \item $h$ is \emph{not} a polynomial, because $\frac{7}{3}$ is not an integer.
- \item $k$ is a polynomial, and its degree is $3$.
- \item $j$ is a polynomial, and its degree is $4$.
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Typical graphs]\label{poly:ex:typical}
- \Cref{poly:fig:typical} shows graphs of some polynomial functions;
- the ticks have deliberately been left off the axis to allow us to concentrate
- on the features of each graph. Note in particular that:
- \begin{itemize}
- \item \cref{poly:fig:typical1} shows a degree-$1$ polynomial (you might also
- classify the function as linear) whose leading coefficient, $a_1$, is positive.
- \item \cref{poly:fig:typical2} shows a degree-$2$ polynomial (you might also
- classify the function as quadratic) whose leading coefficient, $a_2$, is positive.
- \item \cref{poly:fig:typical3} shows a degree-$3$ polynomial whose leading coefficient, $a_3$,
- is positive| compare its overall
- shape and long-run behavior to the functions described in \cref{poly:ex:oddpow}.
- \item \cref{poly:fig:typical4} shows a degree-$4$ polynomial whose leading coefficient, $a_4$,
- is positive|compare its overall shape and long-run behavior to the functions described in \cref{poly:ex:evenpow}.
- \item \cref{poly:fig:typical5} shows a degree-$5$ polynomial whose leading coefficient, $a_5$,
- is positive| compare its overall
- shape and long-run behavior to the functions described in \cref{poly:ex:oddpow}.
- \end{itemize}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{\textwidth/6}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_1>0$}
- \label{poly:fig:typical1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{(x^2-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_2>0$}
- \label{poly:fig:typical2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-7.5:7.5]{0.05*(x+6)*x*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_3>0$}
- \label{poly:fig:typical3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-2.35:5.35,samples=100]{0.2*(x-5)*x*(x-3)*(x+2)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_4>0$}
- \label{poly:fig:typical4}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\textwidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-5.5:6.3,samples=100]{0.01*(x+2)*x*(x-3)*(x+5)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{$a_5>0$}
- \label{poly:fig:typical5}
- \end{subfigure}
- \end{widepage}
- \caption{Graphs to illustrate typical curves of polynomial functions.}
- \label{poly:fig:typical}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{doyouunderstand}
- \begin{problem}
- Use \cref{poly:ex:typical} and \cref{poly:fig:typical} to help you sketch
- the graphs of polynomial functions that have negative leading coefficients| note
- that there are many ways to do this! The intention with this problem
- is to use your knowledge of transformations- in particular, \emph{reflections}-
- to guide you.
- \begin{shortsolution}
- $a_1<0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-10:8]{-(x+2)};
- \end{axis}
- \end{tikzpicture}
-
- $a_2<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-4:4]{-(x^2-6)};
- \end{axis}
- \end{tikzpicture}
-
- $a_3<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-7.5:7.5]{-0.05*(x+6)*x*(x-6)};
- \end{axis}
- \end{tikzpicture}
-
- $a_4<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-2.35:5.35,samples=100]{-0.2*(x-5)*x*(x-3)*(x+2)};
- \end{axis}
- \end{tikzpicture}
-
- $a_5<0$
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- xtick={-11},
- ytick={-11},
- ]
- \addplot expression[domain=-5.5:6.3,samples=100]{-0.01*(x+2)*x*(x-3)*(x+5)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{problem}
- \end{doyouunderstand}
-
- \fixthis{poly: Need a more basic example here- it can have a similar
- format to the multiple zeros example, but just keep it simple; it should
- be halfway between the 2 examples surrounding it}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Multiple zeros]
- Consider the polynomial functions $p$, $q$, and $r$ which are
- graphed in \cref{poly:fig:moremultiple}.
- The formulas for $p$, $q$, and $r$ are as follows
- \begin{align*}
- p(x) & =(x-3)^2(x+4)^2 \\
- q(x) & =x(x+2)^2(x-1)^2(x-3) \\
- r(x) & =x(x-3)^3(x+1)^2
- \end{align*}
- Find the degree of $p$, $q$, and $r$, and decide if the functions bounce off or cut
- through the horizontal axis at each of their zeros.
- \begin{pccsolution}
- The degree of $p$ is 4. Referring to \cref{poly:fig:bouncep},
- the curve bounces off the horizontal axis at both zeros, $3$ and $4$.
-
- The degree of $q$ is 6. Referring to \cref{poly:fig:bounceq},
- the curve bounces off the horizontal axis at $-2$ and $1$, and cuts
- through the horizontal axis at $0$ and $3$.
-
- The degree of $r$ is 6. Referring to \cref{poly:fig:bouncer},
- the curve bounces off the horizontal axis at $-1$, and cuts through
- the horizontal axis at $0$ and at $3$, although is flattened immediately to the left and right of $3$.
- \end{pccsolution}
- \end{pccexample}
-
- \setlength{\figurewidth}{0.25\textwidth}
- \begin{figure}[!htb]
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-6,xmax=5,
- ymin=-30,ymax=200,
- xtick={-4,-2,...,4},
- width=\textwidth,
- ]
- \addplot expression[domain=-5.63733:4.63733,samples=50]{(x-3)^2*(x+4)^2};
- \addplot[soldot]coordinates{(3,0)(-4,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=p(x)$}
- \label{poly:fig:bouncep}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-3,xmax=4,
- xtick={-2,...,3},
- ymin=-60,ymax=40,
- width=\textwidth,
- ]
- \addplot+[samples=50] expression[domain=-2.49011:3.11054]{x*(x+2)^2*(x-1)^2*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(0,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=q(x)$}
- \label{poly:fig:bounceq}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-2,xmax=4,
- xtick={-1,...,3},
- ymin=-40,ymax=40,
- width=\textwidth,
- ]
- \addplot expression[domain=-1.53024:3.77464,samples=50]{x*(x-3)^3*(x+1)^2};
- \addplot[soldot]coordinates{(-1,0)(0,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=r(x)$}
- \label{poly:fig:bouncer}
- \end{subfigure}
- \caption{}
- \label{poly:fig:moremultiple}
- \end{figure}
-
- \begin{pccdefinition}[Multiple zeros]\label{poly:def:multzero}
- Let $p$ be a polynomial that has a repeated linear factor $(x-a)^n$. Then we say
- that $p$ has a multiple zero at $a$ of multiplicity $n$ and
- \begin{itemize}
- \item if the factor $(x-a)$ is repeated an even number of times, the graph of $y=p(x)$ does not
- cross the $x$ axis at $a$, but `bounces' off the horizontal axis at $a$.
- \item if the factor $(x-a)$ is repeated an odd number of times, the graph of $y=p(x)$ crosses the
- horizontal axis at $a$, but it looks `flattened' there
- \end{itemize}
- If $n=1$, then we say that $p$ has a \emph{simple} zero at $a$.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Find a formula]
- Find formulas for the polynomial functions, $p$ and $q$, graphed in \cref{poly:fig:findformulademoboth}.
- \begin{figure}[!htb]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- minor xtick={-3,-1,...,3},
- ytick={-8,-6,...,8},
- width=\textwidth,
- grid=both]
- \addplot expression[domain=-3.25842:2.25842,samples=50]{-x*(x-2)*(x+3)*(x+1)};
- \addplot[soldot]coordinates{(1,8)}node[axisnode,inner sep=.35cm,anchor=west]{$(1,8)$};
- \addplot[soldot]coordinates{(-3,0)(-1,0)(0,0)(2,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$p$}
- \label{poly:fig:findformulademo}
- \end{subfigure}
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- minor xtick={-3,-1,...,3},
- ytick={-8,-6,...,8},
- width=\textwidth,
- grid=both]
- \addplot expression[domain=-4.33:4.08152]{-.25*(x+2)^2*(x-3)};
- \addplot[soldot]coordinates{(2,4)}node[axisnode,anchor=south west]{$(2,4)$};
- \addplot[soldot]coordinates{(-2,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$q$}
- \label{poly:fig:findformulademo1}
- \end{subfigure}
- \caption{}
- \label{poly:fig:findformulademoboth}
- \end{figure}
- \begin{pccsolution}
- \begin{enumerate}
- \item We begin by noting that the horizontal intercepts of $p$ are $(-3,0)$, $(-1,0)$, $(0,0)$ and $(2,0)$.
- We also note that each zero is simple (multiplicity $1$).
- If we assume that $p$ has no other zeros, then we can start by writing
- \begin{align*}
- p(x) & =(x+3)(x+1)(x-0)(x-2) \\
- & =x(x+3)(x+1)(x-2) \\
- \end{align*}
- According to \cref{poly:fig:findformulademo}, the point $(1,8)$ lies
- on the curve $y=p(x)$.
- Let's check if the formula we have written satisfies this requirement
- \begin{align*}
- p(1) & = (1)(4)(2)(-1) \\
- & = -8
- \end{align*}
- which is clearly not correct| it is close though. We can correct this by
- multiplying $p$ by a constant $k$; so let's assume that
- \[
- p(x)=kx(x+3)(x+1)(x-2)
- \]
- Then $p(1)=-8k$, and if this is to equal $8$, then $k=-1$. Therefore
- the formula for $p(x)$ is
- \[
- p(x)=-x(x+3)(x+1)(x-2)
- \]
- \item The function $q$ has a zero at $-2$ of multiplicity $2$, and zero of
- multiplicity $1$ at $3$ (so $3$ is a simple zero of $q$); we can therefore assume that $q$ has the form
- \[
- q(x)=k(x+2)^2(x-3)
- \]
- where $k$ is some real number. In order to find $k$, we use the given ordered pair, $(2,4)$, and
- evaluate $p(2)$
- \begin{align*}
- p(2) & =k(4)^2(-1) \\
- & =-16k
- \end{align*}
- We solve the equation $4=-8k$ and obtain $k=-\frac{1}{4}$ and conclude that the
- formula for $q(x)$ is
- \[
- q(x)=-\frac{1}{4}(x+2)^2(x-3)
- \]
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
-
- \fixthis{Chris: need sketching polynomial problems}
- \begin{pccspecialcomment}[Steps to follow when sketching polynomial functions]
- \begin{steps}
- \item \label{poly:step:first} Determine the degree of the polynomial,
- its leading term and leading coefficient, and hence determine
- the long-run behavior of the polynomial| does it behave like $\pm x^2$ or $\pm x^3$
- as $x\rightarrow\pm\infty$?
- \item Determine the zeros and their multiplicity. Mark all zeros
- and the vertical intercept on the graph using solid circles $\bullet$.
- \item \label{poly:step:last} Deduce the overall shape of the curve, and sketch it. If there isn't
- enough information from the previous steps, then construct a table of values.
- \end{steps}
- Remember that until we have the tools of calculus, we won't be able to
- find the exact coordinates of local minimums, local maximums, and points
- of inflection.
- \end{pccspecialcomment}
- Before we demonstrate some examples, it is important to remember the following:
- \begin{itemize}
- \item our sketches will give a good representation of the overall
- shape of the graph, but until we have the tools of calculus (from MTH 251)
- we can not find local minimums, local maximums, and inflection points algebraically. This
- means that we will make our best guess as to where these points are.
- \item we will not concern ourselves too much with the vertical scale (because of
- our previous point)| we will, however, mark the vertical intercept (assuming there is one),
- and any horizontal asymptotes.
- \end{itemize}
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{poly:ex:simplecubic}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $p$
- that has formula
- \[
- p(x)=\frac{1}{2}(x-4)(x-1)(x+3)
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $p$ has degree $3$. The leading term of $p$ is $\frac{1}{2}x^3$, so the leading coefficient of $p$
- is $\frac{1}{2}$. The long-run behavior of $p$ is therefore similar to that of $x^3$.
- \item The zeros of $p$ are $-3$, $1$, and $4$; each zero is simple (i.e, it has multiplicity $1$).
- This means that the curve of $p$ cuts the horizontal axis at each zero. The vertical
- intercept of $p$ is $(0,6)$.
- \item We draw the details we have obtained so far on \cref{poly:fig:simplecubicp1}. Given
- that the curve of $p$ looks like the curve of $x^3$ in the long-run, we are able to complete a sketch of the
- graph of $p$ in \cref{poly:fig:simplecubicp2}.
-
- Note that we can not find the coordinates of the local minimums, local maximums, and inflection
- points| for the moment we make reasonable guesses as to where these points are (you'll find how
- to do this in calculus).
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=15,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(1,0)(4,0)(0,6)}node[axisnode,anchor=south west]{$(0,6)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:simplecubicp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=15,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(1,0)(4,0)(0,6)}node[axisnode,anchor=south west]{$(0,6)$};
- \addplot[pccplot] expression[domain=-3.57675:4.95392,samples=100]{.5*(x-4)*(x-1)*(x+3)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:simplecubicp2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{2}(x-4)(x-1)(x+3)$}
- \label{poly:fig:simplecubic}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{poly:ex:degree5}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $q$
- that has formula
- \[
- q(x)=\frac{1}{200}(x+7)^2(2-x)(x-6)^2
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $q$ has degree $4$. The leading term of $q$ is
- \[
- -\frac{1}{200}x^5
- \]
- so the leading coefficient of $q$ is $-\frac{1}{200}$. The long-run behavior of $q$
- is therefore similar to that of $-x^5$.
- \item The zeros of $q$ are $-7$ (multiplicity 2), $2$ (simple), and $6$ (multiplicity $2$).
- The curve of $q$ bounces off the horizontal axis at the zeros with multiplicity $2$ and
- cuts the horizontal axis at the simple zeros. The vertical intercept of $q$ is $\left( 0,\frac{441}{25} \right)$.
- \item We mark the details we have found so far on \cref{poly:fig:degree5p1}. Given that
- the curve of $q$ looks like the curve of $-x^5$ in the long-run, we can complete \cref{poly:fig:degree5p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=40,
- xtick={-8,-6,...,8},
- ytick={-5,0,...,35},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-7,0)(2,0)(6,0)(0,441/25)}node[axisnode,anchor=south west]{$\left( 0, \frac{441}{25} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree5p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=40,
- xtick={-8,-6,...,8},
- ytick={-5,0,...,35},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-7,0)(2,0)(6,0)(0,441/25)}node[axisnode,anchor=south west]{$\left( 0, \frac{441}{25} \right)$};
- \addplot[pccplot] expression[domain=-8.83223:7.34784,samples=50]{1/200*(x+7)^2*(2-x)*(x-6)^2};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree5p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{200}(x+7)^2(2-x)(x-6)^2$}
- \label{poly:fig:degree5}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}
- Use \crefrange{poly:step:first}{poly:step:last} to sketch a graph of the function $r$
- that has formula
- \[
- r(x)=\frac{1}{100}x^3(x+4)(x-4)(x-6)
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $r$ has degree $6$. The leading term of $r$ is
- \[
- \frac{1}{100}x^6
- \]
- so the leading coefficient of $r$ is $\frac{1}{100}$. The long-run behavior of $r$
- is therefore similar to that of $x^6$.
- \item The zeros of $r$ are $-4$ (simple), $0$ (multiplicity $3$), $4$ (simple),
- and $6$ (simple). The vertical intercept of $r$ is $(0,0)$. The curve of $r$
- cuts the horizontal axis at the simple zeros, and goes through the axis
- at $(0,0)$, but does so in a flattened way.
- \item We mark the zeros and vertical intercept on \cref{poly:fig:degree6p1}. Given that
- the curve of $r$ looks like the curve of $x^6$ in the long-run, we complete the graph
- of $r$ in \cref{poly:fig:degree6p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=10,
- ymin=-20,ymax=10,
- xtick={-4,-2,...,8},
- ytick={-15,-10,...,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,0)(4,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree6p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=10,
- ymin=-20,ymax=10,
- xtick={-4,-2,...,8},
- ytick={-15,-10,...,5},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,0)(4,0)(6,0)};
- \addplot[pccplot] expression[domain=-4.16652:6.18911,samples=100]{1/100*(x+4)*x^3*(x-4)*(x-6)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:degree6p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{100}(x+4)x^3(x-4)(x-6)$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[An open-topped box]
- A cardboard company makes open-topped boxes for their clients. The specifications
- dictate that the box must have a square base, and that it must be open-topped.
- The company uses sheets of cardboard that are $\unit[1200]{cm^2}$. Assuming that
- the base of each box has side $x$ (measured in cm), it can be shown that the volume of each box, $V(x)$,
- has formula
- \[
- V(x)=\frac{x}{4}(1200-x^2)
- \]
- Find the dimensions of the box that maximize the volume.
- \begin{pccsolution}
- We graph $y=V(x)$ in \cref{poly:fig:opentoppedbox}. Note that because
- $x$ represents the length of a side, and $V(x)$ represents the volume
- of the box, we necessarily require both values to be positive; we illustrate
- the part of the curve that applies to this problem using a solid line.
-
- \begin{figure}[!htb]
- \centering
- \begin{tikzpicture}
- \begin{axis}[framed,
- xmin=-50,xmax=50,
- ymin=-5000,ymax=5000,
- xtick={-40,-30,...,40},
- minor xtick={-45,-35,...,45},
- minor ytick={-3000,-1000,1000,3000},
- width=.75\textwidth,
- height=.5\textwidth,
- grid=both]
- \addplot[pccplot,dashed,<-] expression[domain=-40:0,samples=50]{x/4*(1200-x^2)};
- \addplot[pccplot,-] expression[domain=0:34.64,samples=50]{x/4*(1200-x^2)};
- \addplot[pccplot,dashed,->] expression[domain=34.64:40,samples=50]{x/4*(1200-x^2)};
- \addplot[soldot] coordinates{(20,4000)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=V(x)$}
- \label{poly:fig:opentoppedbox}
- \end{figure}
-
- According to \cref{poly:fig:opentoppedbox}, the maximum volume of such a box is
- approximately $\unit[4000]{cm^2}$, and we achieve it using a base of length
- approximately $\unit[20]{cm}$. Since the base is square and each sheet of cardboard
- is $\unit[1200]{cm^2}$, we conclude that the dimensions of each box are $\unit[20]{cm}\times\unit[20]{cm}\times\unit[30]{cm}$.
- \end{pccsolution}
- \end{pccexample}
-
- \subsection*{Complex zeros}
- There has been a pattern to all of the examples that we have seen so far|
- the degree of the polynomial has dictated the number of \emph{real} zeros that the
- polynomial has. For example, the function $p$ in \cref{poly:ex:simplecubic}
- has degree $3$, and $p$ has $3$ real zeros; the function $q$ in \cref{poly:ex:degree5}
- has degree $5$ and $q$ has $5$ real zeros.
-
- You may wonder if this result can be generalized| does every polynomial that
- has degree $n$ have $n$ real zeros? Before we tackle the general result,
- let's consider an example that may help motivate it.
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}\label{poly:ex:complx}
- Consider the polynomial function $c$ that has formula
- \[
- c(x)=x(x^2+1)
- \]
- It is clear that $c$ has degree $3$, and that $c$ has a (simple) zero at $0$. Does
- $c$ have any other zeros, i.e, can we find any values of $x$ that satisfy the equation
- \begin{equation}\label{poly:eq:complx}
- x^2+1=0
- \end{equation}
- The solutions to \cref{poly:eq:complx} are $\pm i$.
-
- We conclude that $c$ has $3$ zeros: $0$ and $\pm i$; we note that \emph{not
- all of them are real}.
- \end{pccexample}
- \Cref{poly:ex:complx} shows that not every degree-$3$ polynomial has $3$
- \emph{real} zeros; however, if we are prepared to venture into the complex numbers,
- then we can state the following theorem.
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccspecialcomment}[The fundamental theorem of algebra]
- Every polynomial function of degree $n$ has $n$ roots, some of which may
- be complex, and some may be repeated.
- \end{pccspecialcomment}
- \fixthis{Fundamental theorem of algebra: is this wording ok? do we want
- it as a theorem?}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}
- Find all the zeros of the polynomial function $p$ that has formula
- \[
- p(x)=x^4-2x^3+5x^2
- \]
- \begin{pccsolution}
- We begin by factoring $p$
- \begin{align*}
- p(x) & =x^4-2x^3+5x^2 \\
- & =x^2(x^2-2x+5)
- \end{align*}
- We note that $0$ is a zero of $p$ with multiplicity $2$. The other zeros of $p$
- can be found by solving the equation
- \[
- x^2-2x+5=0
- \]
- This equation can not be factored, so we use the quadratic formula
- \begin{align*}
- x & =\frac{2\pm\sqrt{(-2)^2}-20}{2(1)} \\
- & =\frac{2\pm\sqrt{-16}}{2} \\
- & =1\pm 2i
- \end{align*}
- We conclude that $p$ has $4$ zeros: $0$ (multiplicity $2$), and $1\pm 2i$ (simple).
- \end{pccsolution}
- \end{pccexample}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}
- Find a polynomial that has zeros at $2\pm i\sqrt{2}$.
- \begin{pccsolution}
- We know that the zeros of a polynomial can be found by analyzing the linear
- factors. We are given the zeros, and have to work backwards to find the
- linear factors.
-
- We begin by assuming that $p$ has the form
- \begin{align*}
- p(x) & =(x-(2-i\sqrt{2}))(x-(2+i\sqrt{2})) \\
- & =x^2-x(2+i\sqrt{2})-x(2-i\sqrt{2})+(2-i\sqrt{2})(2+i\sqrt{2}) \\
- & =x^2-4x+(4-2i^2) \\
- & =x^2-4x+6
- \end{align*}
- We conclude that a possible formula for a polynomial function, $p$,
- that has zeros at $2\pm i\sqrt{2}$ is
- \[
- p(x)=x^2-4x+6
- \]
- Note that we could multiply $p$ by any real number and still ensure
- that $p$ has the same zeros.
- \end{pccsolution}
- \end{pccexample}
- \investigation*{}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a graph]
- For each of the polynomials in \cref{poly:fig:findformula}
- \begin{enumerate}
- \item count the number of times the curve turns round, and cuts/bounces off the $x$ axis;
- \item approximate the degree of the polynomial;
- \item use your information to find the linear factors of each polynomial, and therefore write a possible formula for each;
- \item make sure your polynomial goes through the given ordered pair.
- \end{enumerate}
- \begin{shortsolution}
- \Vref{poly:fig:findformdeg2}:
- \begin{enumerate}
- \item the curve turns round once;
- \item the degree could be 2;
- \item based on the zeros, the linear factors are $(x+5)$ and $(x-3)$; since the
- graph opens downwards, we will assume the leading coefficient is negative: $p(x)=-k(x+5)(x-3)$;
- \item $p$ goes through $(2,2)$, so we need to solve $2=-k(7)(-1)$ and therefore $k=\nicefrac{2}{7}$, so
- \[
- p(x)=-\frac{2}{7}(x+5)(x-3)
- \]
- \end{enumerate}
- \Vref{poly:fig:findformdeg3}:
- \begin{enumerate}
- \item the curve turns around twice;
- \item the degree could be 3;
- \item based on the zeros, the linear factors are $(x+2)^2$, and $(x-1)$;
- based on the behavior of $p$, we assume that the leading coefficient is positive, and try $p(x)=k(x+2)^2(x-1)$;
- \item $p$ goes through $(0,-2)$, so we need to solve $-2=k(4)(-1)$ and therefore $k=\nicefrac{1}{2}$, so
- \[
- p(x)=\frac{1}{2}(x+2)^2(x-1)
- \]
- \end{enumerate}
- \Vref{poly:fig:findformdeg5}:
- \begin{enumerate}
- \item the curve turns around 4 times;
- \item the degree could be 5;
- \item based on the zeros, the linear factors are $(x+5)^2$, $(x+1)$, $(x-2)$, $(x-3)$;
- based on the behavior of $p$, we assume that the leading coefficient is positive, and try $p(x)=k(x+5)^2(x+1)(x-2)(x-3)$;
- \item $p$ goes through $(-3,-50)$, so we need to solve $-50=k(64)(-2)(-5)(-6)$ and therefore $k=\nicefrac{5}{384}$, so
- \[
- p(x)=\frac{5}{384}(x+5)^2(x+1)(x-2)(x-3)
- \]
- \end{enumerate}
- \end{shortsolution}
- \end{problem}
-
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-2,ymax=5,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.5:3.75]{-1/3*(x+4)*(x-3)};
- \addplot[soldot] coordinates{(-4,0)(3,0)(2,2)} node[axisnode,above right]{$(2,2)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-3,xmax=2,
- ymin=-2,ymax=4,
- xtick={-2,...,1},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.95:1.75]{1/3*(x+2)^2*(x-1)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(0,-1.33)}node[axisnode,anchor=north west]{$(0,-2)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-100,ymax=150,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.5:3.4,samples=50]{(x+4)^2*(x+1)*(x-2)*(x-3)};
- \addplot[soldot]coordinates{(-4,0)(-1,0)(2,0)(3,0)(-3,-60)}node[axisnode,anchor=north]{$(-3,-50)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:findformdeg5}
- \end{subfigure}
- \caption{}
- \label{poly:fig:findformula}
- \end{figure}
-
-
-
-
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Prerequisite classifacation skills]
- Decide if each of the following functions are linear or quadratic.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x)=2x+3$
- \begin{shortsolution}
- $f$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x)=10-7x$
- \begin{shortsolution}
- $g$ is linear
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x)=-x^2+3x-9$
- \begin{shortsolution}
- $h$ is quadratic.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x)=-17$
- \begin{shortsolution}
- $k$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(x)=-82x^2-4$
- \begin{shortsolution}
- $l$ is quadratic
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(x)=6^2x-8$
- \begin{shortsolution}
- $m$ is linear.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Prerequisite slope identification]
- State the slope of each of the following linear functions, and
- hence decide if each function is increasing or decreasing.
- \begin{multicols}{4}
- \begin{subproblem}
- $\alpha(x)=4x+1$
- \begin{shortsolution}
- $m=4$; $\alpha$ is increasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\beta(x)=-9x$
- \begin{shortsolution}
- $m=-9$; $\beta$ is decreasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\gamma(t)=18t+100$
- \begin{shortsolution}
- $m=18$; $\gamma$ is increasing.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\delta(y)=23-y$
- \begin{shortsolution}
- $m=-1$; $\delta$ is decreasing.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- Now let's generalize our findings for the most general linear function $f$
- that has formula $f(x)=mx+b$. Complete the following sentences.
- \begin{subproblem}
- When $m>0$, the function $f$ is $\ldots$
- \begin{shortsolution}
- When $m>0$, the function $f$ is $\ldots$ \emph{increasing}.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- When $m<0$, the function $f$ is $\ldots$
- \begin{shortsolution}
- When $m<0$, the function $f$ is $\ldots$ \emph{decreasing}.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Polynomial or not?]
- Identify whether each of the following functions is a polynomial or not.
- If the function is a polynomial, state its degree.
- \begin{multicols}{3}
- \begin{subproblem}
- $p(x)=2x+1$
- \begin{shortsolution}
- $p$ is a polynomial (you might also describe $p$ as linear). The degree of $p$ is 1.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=7x^2+4x$
- \begin{shortsolution}
- $p$ is a polynomial (you might also describe $p$ as quadratic). The degree of $p$ is 2.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=\sqrt{x}+2x+1$
- \begin{shortsolution}
- $p$ is not a polynomial; we require the powers of $x$ to be integer values.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=2^x-45$
- \begin{shortsolution}
- $p$ is not a polynomial; the $2^x$ term is exponential.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=6x^4-5x^3+9$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $6$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=-5x^{17}+9x+2$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is 17.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=4x(x+7)^2(x-3)^3$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $6$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=4x^{-5}-x^2+x$
- \begin{shortsolution}
- $p$ is not a polynomial because $-5$ is not a positive integer.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=-x^6(x^2+1)(x^3-2)$
- \begin{shortsolution}
- $p$ is a polynomial, and the degree of $p$ is $11$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Polynomial graphs]
- Three polynomial functions $p$, $m$, and $n$ are shown in \crefrange{poly:fig:functionp}{poly:fig:functionn}.
- The functions have the following formulas
- \begin{align*}
- p(x) & = (x-1)(x+2)(x-3) \\
- m(x) & = -(x-1)(x+2)(x-3) \\
- n(x) & = (x-1)(x+2)(x-3)(x+1)(x+4)
- \end{align*}
- Note that for our present purposes we are not concerned with the vertical scale of the graphs.
- \begin{subproblem}
- Identify both on the graph {\em and} algebraically, the zeros of each polynomial.
- \begin{shortsolution}
- $y=p(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{(x-1)*(x+2)*(x-3)};
- \addplot[soldot] coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- $y=m(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{-1*(x-1)*(x+2)*(x-3)};
- \addplot[soldot] coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- $y=n(x)$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-90,ymax=70,
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-4.15:3.15,samples=50]{(x-1)*(x+2)*(x-3)*(x+1)*(x+4)};
- \addplot[soldot] coordinates{(-4,0)(-2,0)(-1,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
-
- The zeros of $p$ are $-2$, $1$, and $3$; the zeros of $m$ are $-2$, $1$, and $3$; the zeros of $n$ are
- $-4$, $-2$, $-1$, and $3$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Write down the degree, how many times the curve of each function `turns around',
- and how many zeros it has
- \begin{shortsolution}
- \begin{itemize}
- \item The degree of $p$ is 3, and the curve $y=p(x)$ turns around twice.
- \item The degree of $q$ is also 3, and the curve $y=q(x)$ turns around twice.
- \item The degree of $n$ is $5$, and the curve $y=n(x)$ turns around 4 times.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{(x-1)*(x+2)*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=p(x)$}
- \label{poly:fig:functionp}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot expression[domain=-2.5:3.5,samples=50]{-1*(x-1)*(x+2)*(x-3)};
- \addplot[soldot]coordinates{(-2,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=m(x)$}
- \label{poly:fig:functionm}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-90,ymax=70,
- width=\textwidth,
- ]
- \addplot expression[domain=-4.15:3.15,samples=100]{(x-1)*(x+2)*(x-3)*(x+1)*(x+4)};
- \addplot[soldot]coordinates{(-4,0)(-2,0)(-1,0)(1,0)(3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=n(x)$}
- \label{poly:fig:functionn}
- \end{subfigure}
- \caption{}
- \end{widepage}
- \end{figure}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Horizontal intercepts]\label{poly:prob:matchpolys}%
- State the horizontal intercepts (as ordered pairs) of the following polynomials.
- \begin{multicols}{2}
- \begin{subproblem}\label{poly:prob:degree5}
- $p(x)=(x-1)(x+2)(x-3)(x+1)(x+4)$
- \begin{shortsolution}
- $(-4,0)$, $(-2,0)$, $(-1,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(x)=-(x-1)(x+2)(x-3)$
- \begin{shortsolution}
- $(-2,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(x)=(x-1)(x+2)(x-3)$
- \begin{shortsolution}
- $(-2,0)$, $(1,0)$, $(3,0)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{poly:prob:degree2}
- $s(x)=(x-2)(x+2)$
- \begin{shortsolution}
- $(-2,0)$, $(2,0)$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Minimums, maximums, and concavity]\label{poly:prob:incdec}
- Four polynomial functions are graphed in \cref{poly:fig:incdec}. The formulas
- for these functions are (not respectively)
- \begin{gather*}
- p(x)=\frac{x^3}{6}-\frac{x^2}{4}-3x, \qquad q(x)=\frac{x^4}{20}+\frac{x^3}{15}-\frac{6}{5}x^2+1\\
- r(x)=-\frac{x^5}{50}-\frac{x^4}{40}+\frac{2x^3}{5}+6, \qquad s(x)=-\frac{x^6}{6000}-\frac{x^5}{2500}+\frac{67x^4}{4000}+\frac{17x^3}{750}-\frac{42x^2}{125}
- \end{gather*}
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{.23\textwidth}
- \centering
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=major,
- ]
- \addplot expression[domain=-5.28:4.68,samples=50]{-x^5/50-x^4/40+2*x^3/5+6};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=major,
- ]
- \addplot expression[domain=-6.08:4.967,samples=50]{x^4/20+x^3/15-6/5*x^2+1};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-6,xmax=8,ymin=-10,ymax=10,
- xtick={-4,-2,...,6},
- ytick={-8,-4,4,8},
- minor ytick={-6,-2,...,6},
- grid=both,
- ]
- \addplot expression[domain=-4.818:6.081,samples=50]{x^3/6-x^2/4-3*x};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- width=\textwidth,
- xmin=-10,xmax=10,ymin=-10,ymax=10,
- xtick={-8,-4,4,8},
- ytick={-8,-4,4,8},
- minor xtick={-6,-2,...,6},
- minor ytick={-6,-2,...,6},
- grid=both,
- ]
- \addplot expression[domain=-9.77:8.866,samples=50]{-x^6/6000-x^5/2500+67*x^4/4000+17/750*x^3-42/125*x^2};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:incdec4}
- \end{subfigure}
- \caption{Graphs for \cref{poly:prob:incdec}.}
- \label{poly:fig:incdec}
- \end{widepage}
- \end{figure}
- \begin{subproblem}
- Match each of the formulas with one of the given graphs.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is graphed in \vref{poly:fig:incdec1};
- \item $q$ is graphed in \vref{poly:fig:incdec2};
- \item $r$ is graphed in \vref{poly:fig:incdec3};
- \item $s$ is graphed in \vref{poly:fig:incdec4}.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the zeros of each function using the appropriate graph.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ has simple zeros at about $-3.8$, $0$, and $5$.
- \item $q$ has simple zeros at about $-5.9$, $-1$, $1$, and $4$.
- \item $r$ has simple zeros at about $-5$, $-2.9$, and $4.1$.
- \item $s$ has simple zeros at about $-9$, $-6$, $4.2$, $8.1$, and a zero of multiplicity $2$ at $0$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the local maximums and minimums of each of the functions.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ has a local maximum of approximately $3.9$ at $-2$, and a local minimum of approximately $-6.5$ at $3$.
- \item $q$ has a local minimum of approximately $-10$ at $-4$, and $-4$ at $3$; $q$ has a local maximum of approximately $1$ at $0$.
- \item $r$ has a local minimum of approximately $-5.5$ at $-4$, and a local maximum of approximately $10$ at $3$.
- \item $s$ has a local maximum of approximately $5$ at $-8$, $0$ at $0$, and $5$ at $7$; $s$ has local minimums
- of approximately $-3$ at $-4$, and $-1$ at $3$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the global maximums and minimums of each of the functions.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ does not have a global maximum, nor a global minimum.
- \item $q$ has a global minimum of approximately $-10$; it does not have a global maximum.
- \item $r$ does not have a global maximum, nor a global minimum.
- \item $s$ has a global maximum of approximately $5$; it does not have a global minimum.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the intervals on which each function is increasing and decreasing.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is increasing on $(-\infty,-2)\cup (3,\infty)$, and decreasing on $(-2,3)$.
- \item $q$ is increasing on $(-4,0)\cup (3,\infty)$, and decreasing on $(-\infty,-4)\cup (0,3)$.
- \item $r$ is increasing on $(-4,3)$, and decreasing on $(-\infty,-4)\cup (3,\infty)$.
- \item $s$ is increasing on $(-\infty,-8)\cup (-4,0)\cup (3,5)$, and decreasing on $(-8,-4)\cup (0,3)\cup (5,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Approximate the intervals on which each function is concave up and concave down.
- \begin{shortsolution}
- \begin{itemize}
- \item $p$ is concave up on $(1,\infty)$, and concave down on $(-\infty,1)$.
- \item $q$ is concave up on $(-\infty,-1)\cup (1,\infty)$, and concave down on $(-1,1)$.
- \item $r$ is concave up on $(-\infty,-3)\cup (0,2)$, and concave down on $(-3,0)\cup (2,\infty)$.
- \item $s$ is concave up on $(-6,-2)\cup (2,5)$, and concave down on $(-\infty,-6)\cup (-2,2)\cup (5,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- The degree of $q$ is $5$. Assuming that all of the real zeros of $q$ are
- shown in its graph, how many complex zeros does $q$ have?
- \begin{shortsolution}
- \Vref{poly:fig:incdec2} shows that $q$ has $3$ real zeros
- since the curve of $q$ cuts the horizontal axis $3$ times.
- Since $q$ has degree $5$, $q$ must have $2$ complex zeros.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Long-run behaviour of polynomials]
- Describe the long-run behavior of each of polynomial functions in
- \crefrange{poly:prob:degree5}{poly:prob:degree2}.
- \begin{shortsolution}
- $\dd\lim_{x\rightarrow-\infty}p(x)=-\infty$,
- $\dd\lim_{x\rightarrow\infty}p(x)=\infty$,
- $\dd\lim_{x\rightarrow-\infty}q(x)=\infty$,
- $\dd\lim_{x\rightarrow\infty}q(x)=-\infty$,
- $\dd\lim_{x\rightarrow-\infty}r(x)=-\infty$,
- $\dd\lim_{x\rightarrow\infty}r(x)=\infty$,
- $\dd\lim_{x\rightarrow-\infty}s(x)=\infty$,
- $\dd\lim_{x\rightarrow\infty}s(x)=\infty$,
- \end{shortsolution}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[True of false?]
- Let $p$ be a polynomial function.
- Label each of the following statements as true (T) or false (F); if they are false,
- provide an example that supports your answer.
- \begin{subproblem}
- If $p$ has degree $3$, then $p$ has $3$ distinct zeros.
- \begin{shortsolution}
- False. Consider $p(x)=x^2(x+1)$ which has only 2 distinct zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has degree $4$, then $\dd\lim_{x\rightarrow-\infty}p(x)=\infty$ and $\dd\lim_{x\rightarrow\infty}p(x)=\infty$.
- \begin{shortsolution}
- False. Consider $p(x)=-x^4$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has even degree, then it is possible that $p$ can have no real zeros.
- \begin{shortsolution}
- True.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- If $p$ has odd degree, then it is possible that $p$ can have no real zeros.
- \begin{shortsolution}
- False. All odd degree polynomials will cut the horizontal axis at least once.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a possible formula for a polynomial
- function that has the specified properties.
- \begin{subproblem}
- Degree 2 and has zeros at $4$ and $5$.
- \begin{shortsolution}
- Possible option: $p(x)=(x-4)(x-5)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 3 and has zeros at $4$,$5$ and $-3$.
- \begin{shortsolution}
- Possible option: $p(x)=(x-4)(x-5)(x+3)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 4 and has zeros at $0$, $4$, $5$, $-3$.
- \begin{shortsolution}
- Possible option: $p(x)=x(x-4)(x-5)(x+3)$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 4, with zeros that make the graph cut at $2$, $-5$, and a zero that makes the graph touch at $-2$;
- \begin{shortsolution}
- Possible option: $p(x)=(x-2)(x+5)(x+2)^2$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Degree 3, with only one zero at $-1$.
- \begin{shortsolution}
- Possible option: $p(x)=(x+1)^3$. Note we could multiply $p$ by any real number, and still meet the requirements.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{poly:step:last}]
- \pccname{Saheed} is graphing a polynomial function, $p$.
- He is following \crefrange{poly:step:first}{poly:step:last} and has so far
- marked the zeros of $p$ on \cref{poly:fig:optionsp1}. Saheed tells you that
- $p$ has degree $3$, but does \emph{not} say if the leading coefficient
- of $p$ is positive or negative.
- \begin{figure}[!htbp]
- \begin{widepage}
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\textwidth,
- height=.5\textwidth,
- ]
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:optionsp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\textwidth,
- height=.5\textwidth,
- ]
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{poly:fig:optionsp2}
- \end{subfigure}%
- \caption{}
- \end{widepage}
- \end{figure}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp1} to help sketch $p$, assuming that the leading coefficient
- is positive.
- \begin{shortsolution}
- Assuming that $a_3>0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-6.78179:8.35598,samples=50]{1/20*(x+5)*(x-2)*(x-6)};
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp1} to help sketch $p$, assuming that the leading coefficient
- is negative.
- \begin{shortsolution}
- Assuming that $a_3<0$:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-6.78179:8.35598,samples=50]{-1/20*(x+5)*(x-2)*(x-6)};
- \addplot[soldot] coordinates{(-5,0)(2,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- Saheed now turns his attention to another polynomial function, $q$. He finds
- the zeros of $q$ (there are only $2$) and marks them on \cref{poly:fig:optionsp2}.
- Saheed knows that $q$ has degree $3$, but doesn't know if the leading
- coefficient is positive or negative.
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp2} to help sketch $q$, assuming that the leading
- coefficient of $q$ is positive. Hint: only one of the zeros is simple.
- \begin{shortsolution}
- Assuming that $a_4>0$ there are $2$ different options:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-8.68983:7.31809,samples=50]{1/20*(x+5)^2*(x-6)};
- \addplot expression[domain=-6.31809:9.68893,samples=50]{1/20*(x+5)*(x-6)^2};
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use the information in \cref{poly:fig:optionsp2} to help sketch $q$, assuming that the leading
- coefficient of $q$ is negative.
- \begin{shortsolution}
- Assuming that $a_4<0$ there are $2$ different options:
-
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-15},
- width=\solutionfigurewidth,
- ]
- \addplot expression[domain=-8.68983:7.31809,samples=50]{-1/20*(x+5)^2*(x-6)};
- \addplot expression[domain=-6.31809:9.68893,samples=50]{-1/20*(x+5)*(x-6)^2};
- \addplot[soldot] coordinates{(-5,0)(6,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Zeros]
- Find all zeros of each of the following polynomial functions, making
- sure to detail their multiplicity. Note that
- you may need to use factoring, or the quadratic formula, or both! Also note
- that some zeros may be repeated, and some may be complex.
- \begin{multicols}{3}
- \begin{subproblem}
- $p(x)=x^2+1$
- \begin{shortsolution}
- $\pm i$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(y)=(y^2-9)(y^2-7)$
- \begin{shortsolution}
- $\pm 3$, $\pm \sqrt{7}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(z)=-4z^3(z^2+3)(z^2+64)$
- \begin{shortsolution}
- $0$ (multiplicity $3$), $\pm\sqrt{3}$ (simple), $\pm\sqrt{8}$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $a(x)=x^4-81$
- \begin{shortsolution}
- $\pm 3$, $\pm 3i$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $b(y)=y^3-8$
- \begin{shortsolution}
- $2$, $-1\pm i\sqrt{3}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $c(m)=m^3-m^2$
- \begin{shortsolution}
- $0$ (multiplicity $2$), $1$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(n)=(n+1)(n^2+4)$
- \begin{shortsolution}
- $-1$, $\pm 2i$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $f(\alpha)=(\alpha^2-16)(\alpha^2-5\alpha+4)$
- \begin{shortsolution}
- $-4$ (simple), $4$ (multiplicity $2$), $1$ (simple).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(\beta)=(\beta^2-25)(\beta^2-5\beta-4)$
- \begin{shortsolution}
- $\pm 5$, $\dfrac{5\pm\sqrt{41}}{2}$ (all are simple).
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Given zeros, find a formula]
- In each of the following problems you are given the zeros of a polynomial.
- Write a possible formula for each polynomial| you may leave your
- answer in factored form, but it may not contain complex numbers. Unless
- otherwise stated, assume that the zeros are simple.
- \begin{multicols}{3}
- \begin{subproblem}
- $1$, $2$
- \begin{shortsolution}
- $p(x)=(x-1)(x-2)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $0$, $5$, $13$
- \begin{shortsolution}
- $p(x)=x(x-5)(x-13)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $-7$, $2$ (multiplicity $3$), $5$
- \begin{shortsolution}
- $p(x)=(x+7)(x-2)^3(x-5)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $0$, $\pm i$
- \begin{shortsolution}
- $p(x)=x(x^2+1)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\pm 2i$, $\pm 7$
- \begin{shortsolution}
- $p(x)=(x^2+4)(x^2-49)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $-2\pm i\sqrt{6}$
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Composition of polynomials]
- Let $p$ and $q$ be polynomial functions that have formulas
- \[
- p(x)=(x+1)(x+2)(x+5), \qquad q(x)=3-x^4
- \]
- Evaluate each of the following.
- \begin{multicols}{4}
- \begin{subproblem}
- $(p\circ q)(0)$
- \begin{shortsolution}
- $160$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(q\circ p)(0)$
- \begin{shortsolution}
- $-9997$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\circ q)(1)$
- \begin{shortsolution}
- $84$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\circ p)(0)$
- \begin{shortsolution}
- $1980$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[Piecewise polynomial functions]
- Let $P$ be the piecewise-defined function with formula
- \[
- P(x)=\begin{cases}
- (1-x)(2x+5)(x^2+1), & x\leq -3\\
- 4-x^2, & -3<x < 4\\
- x^3 & x\geq 4
- \end{cases}
- \]
- Evaluate each of the following
- \begin{multicols}{5}
- \begin{subproblem}
- $P(-4)$
- \begin{shortsolution}
- $-255$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(0)$
- \begin{shortsolution}
- $4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(4)$
- \begin{shortsolution}
- $64$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $P(-3)$
- \begin{shortsolution}
- $-40$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(P\circ P)(0)$
- \begin{shortsolution}
- $64$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Function algebra]
- Let $p$ and $q$ be the polynomial functions that have formulas
- \[
- p(x)=x(x+1)(x-3)^2, \qquad q(x)=7-x^2
- \]
- Evaluate each of the following (if possible).
- \begin{multicols}{4}
- \begin{subproblem}
- $(p+q)(1)$
- \begin{shortsolution}
- $14$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p-q)(0)$
- \begin{shortsolution}
- $7$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(p\cdot q)(\sqrt{7})$
- \begin{shortsolution}
- $0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\left( \frac{q}{p} \right)(1)$
- \begin{shortsolution}
- $\frac{3}{4}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \begin{subproblem}
- What is the domain of the function $\frac{q}{p}$?
- \begin{shortsolution}
- $(-\infty,-1)\cup (-1,0)\cup (0,3)\cup (3,\infty)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Transformations: given the transformation, find the formula]
- Let $p$ be the polynomial function that has formula.
- \[
- p(x)=4x(x^2-1)(x+3)
- \]
- In each of the following
- problems apply the given transformation to the function $p$ and
- write a formula for the transformed version of $p$.
- \begin{multicols}{2}
- \begin{subproblem}
- Shift $p$ to the right by $5$ units.
- \begin{shortsolution}
- $p(x-5)=4(x-5)(x-2)(x^2-10x+24)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ to the left by $6$ units.
- \begin{shortsolution}
- $p(x+6)=4(x+6)(x+9)(x^2+12x+35)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ up by $12$ units.
- \begin{shortsolution}
- $p(x)+12=4x(x^2-1)(x+3)+12$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $p$ down by $2$ units.
- \begin{shortsolution}
- $p(x)-2=4x(x^2-1)(x+3)-2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $p$ over the horizontal axis.
- \begin{shortsolution}
- $-p(x)=-4x(x^2-1)(x+3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $p$ over the vertical axis.
- \begin{shortsolution}
- $p(-x)=-4x(x^2-1)(3-x)$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a table]\label{poly:prob:findformula}
- \Crefrange{poly:tab:findformulap}{poly:tab:findformulas} show values of polynomial functions, $p$, $q$,
- $r$, and $s$.
-
- \begin{table}[!htb]
- \centering
- \begin{widepage}
- \caption{Tables for \cref{poly:prob:findformula}}
- \label{poly:tab:findformula}
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=p(x)$}
- \label{poly:tab:findformulap}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $-4$ & $-56$ \\\normalline
- $-3$ & $-18$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & $4$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $-6$ \\\normalline
- $2$ & $-8$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $24$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=q(x)$}
- \label{poly:tab:findformulaq}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $-16$ \\\normalline
- $-3$ & $-3$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & $-1$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $9$ \\\normalline
- $2$ & $32$ \\\normalline
- $3$ & $75$ \\\normalline
- $4$ & $144$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=r(x)$}
- \label{poly:tab:findformular}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $105$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & $-15$ \\\normalline
- $-1$ & $0$ \\\normalline
- $0$ & $9$ \\\normalline
- $1$ & $0$ \\\normalline
- $2$ & $-15$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $105$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=s(x)$}
- \label{poly:tab:findformulas}
- \begin{tabular}{rr}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\ \afterheading
- $-4$ & $75$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & $-9$ \\\normalline
- $-1$ & $0$ \\\normalline
- $0$ & $3$ \\\normalline
- $1$ & $0$ \\\normalline
- $2$ & $15$ \\\normalline
- $3$ & $96$ \\\normalline
- $4$ & $760$ \\\lastline
- \end{tabular}
- \end{subtable}
- \end{widepage}
- \end{table}
-
- \begin{subproblem}
- Assuming that all of the zeros of $p$ are shown (in \cref{poly:tab:findformulap}), how many zeros does $p$ have?
- \begin{shortsolution}
- $p$ has 3 zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What is the degree of $p$?
- \begin{shortsolution}
- $p$ is degree 3.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Write a formula for $p(x)$.
- \begin{shortsolution}
- $p(x)=x(x+2)(x-3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $q$ are shown (in \cref{poly:tab:findformulaq}), how many zeros does $q$ have?
- \begin{shortsolution}
- $q$ has 2 zeros.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Describe the difference in behavior of $p$ and $q$ at $-2$.
- \begin{shortsolution}
- $p$ changes sign at $-2$, and $q$ does not change sign at $-2$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that $q$ is a degree-$3$ polynomial, write a formula for $q(x)$.
- \begin{shortsolution}
- $q(x)=x(x+2)^2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $r$ are shown (in \cref{poly:tab:findformular}), find a formula for $r(x)$.
- \begin{shortsolution}
- $r(x)=(x+3)(x+1)(x-1)(x-3)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Assuming that all of the zeros of $s$ are shown (in \cref{poly:tab:findformulas}), find a formula for $s(x)$.
- \begin{shortsolution}
- $s(x)=(x+3)(x+1)(x-1)^2$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Rational functions}
- \subsection*{Power functions with negative exponents}
- The study of rational functions will rely upon a good knowledge
- of power functions with negative exponents. \Cref{rat:ex:oddpow,rat:ex:evenpow} are
- simple but fundamental to understanding the behavior of rational functions.
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Power functions with odd negative exponents]\label{rat:ex:oddpow}
- Graph each of the following functions on your calculator, state their domain in interval notation, and their
- behavior as $x\rightarrow 0^-$ and $x\rightarrow 0^+$.
- \[
- f(x)=\frac{1}{x},\qquad g(x)=\dfrac{1}{x^3},\qquad h(x)=\dfrac{1}{x^5}
- \]
- \begin{pccsolution}
- The functions $f$, $g$, and $k$ are plotted in \cref{rat:fig:oddpow}.
- The domain of each of the functions $f$, $g$, and $h$ is $(-\infty,0)\cup (0,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- f(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty
- \end{align*}
- The same results hold for $g$ and $h$. Note also that each of the functions
- has a \emph{vertical asymptote} at $0$. We see that
- \begin{align*}
- f(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} f(x)\rightarrow \infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same results hold for $g$ and $h$.
-
- The curve of a function that has a vertical asymptote is necessarily separated
- into \emph{branches}| each of the functions $f$, $g$, and $h$ have $2$ branches.
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=north west,
- ]
- \addplot expression[domain=-3:-0.2]{1/x};
- \addplot expression[domain=-3:-0.584]{1/x^3};
- \addplot expression[domain=-3:-0.724]{1/x^5};
- \addplot expression[domain=0.2:3]{1/x};
- \addplot expression[domain=0.584:3]{1/x^3};
- \addplot expression[domain=0.724:3]{1/x^5};
- \addplot[soldot]coordinates{(-1,-1)}node[axisnode,anchor=north east]{$(-1,-1)$};
- \addplot[soldot]coordinates{(1,1)}node[axisnode,anchor=south west]{$(1,1)$};
- \legend{$f$,$g$,$h$}
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:oddpow}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\textwidth,
- legend pos=south east,
- ]
- \addplot expression[domain=-3:-0.447]{1/x^2};
- \addplot expression[domain=-3:-0.668]{1/x^4};
- \addplot expression[domain=-3:-0.764]{1/x^6};
- \addplot expression[domain=0.447:3]{1/x^2};
- \addplot expression[domain=0.668:3]{1/x^4};
- \addplot expression[domain=0.764:3]{1/x^6};
- \addplot[soldot]coordinates{(-1,1)}node[axisnode,anchor=south east]{$(-1,1)$};
- \addplot[soldot]coordinates{(1,1)}node[axisnode,anchor=south west]{$(1,1)$};
- \legend{$F$,$G$,$H$}
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:evenpow}
- \end{minipage}%
- \end{figure}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Power functions with even negative exponents]\label{rat:ex:evenpow}%
- Graph each of the following functions, state their domain, and their
- behavior as $x\rightarrow 0^-$ and $x\rightarrow 0^+$.
- \[
- f(x)=\frac{1}{x^2},\qquad g(x)=\frac{1}{x^4},\qquad h(x)=\frac{1}{x^6}
- \]
- \begin{pccsolution}
- The functions $F$, $G$, and $H$ are plotted in \cref{rat:fig:evenpow}.
- The domain of each of the functions $F$, $G$, and $H$ is $(-\infty,0)\cup (0,\infty)$. Note that
- the long-run behavior of each of the functions is the same, and in particular
- \begin{align*}
- F(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} f(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty
- \end{align*}
- As in \cref{rat:ex:oddpow}, $F$ has a horizontal asymptote that
- has equation $y=0$.
- The same results hold for $G$ and $H$. Note also that each of the functions
- has a \emph{vertical asymptote} at $0$. We see that
- \begin{align*}
- F(x)\rightarrow \infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} F(x)\rightarrow \infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same results hold for $G$ and $H$. Each of the functions $F$, $G$, and $H$
- have $2$ branches.
- \end{pccsolution}
- \end{pccexample}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{doyouunderstand}
- \begin{problem}
- Repeat \cref{rat:ex:oddpow,rat:ex:evenpow} using (respectively)
- \begin{subproblem}
- $k(x)=-\dfrac{1}{x}$, $ m(x)=-\dfrac{1}{x^3}$, $ n(x)=-\dfrac{1}{x^5}$
- \begin{shortsolution}
- The functions $k$, $m$, and $n$ have domain $(-\infty,0)\cup (0,\infty)$, and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-3:-0.2]{-1/x};
- \addplot expression[domain=-3:-0.584]{-1/x^3};
- \addplot expression[domain=-3:-0.724]{-1/x^5};
- \addplot expression[domain=0.2:3]{-1/x};
- \addplot expression[domain=0.584:3]{-1/x^3};
- \addplot expression[domain=0.724:3]{-1/x^5};
- \legend{$k$,$m$,$n$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- k(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} k(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty \\
- \intertext{and also}
- k(x)\rightarrow \infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} k(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same are true for $m$ and $n$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $ K(x)=-\dfrac{1}{x^2}$, $ M(x)=-\dfrac{1}{x^4}$, $ N(x)=-\dfrac{1}{x^6}$
- \begin{shortsolution}
- The functions $K$, $M$, and $N$ have domain $(-\infty,0)\cup (0,\infty)$, and
- are graphed below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-3,xmax=3,
- ymin=-5,ymax=5,
- xtick={-2,-1,...,2},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- legend pos=north east,
- ]
- \addplot expression[domain=-3:-0.447]{-1/x^2};
- \addplot expression[domain=-3:-0.668]{-1/x^4};
- \addplot expression[domain=-3:-0.764]{-1/x^6};
- \addplot expression[domain=0.447:3]{-1/x^2};
- \addplot expression[domain=0.668:3]{-1/x^4};
- \addplot expression[domain=0.764:3]{-1/x^6};
- \legend{$K$,$M$,$N$}
- \end{axis}
- \end{tikzpicture}
-
- Note that
- \begin{align*}
- K(x)\rightarrow 0 & \text{ as } x\rightarrow\infty \\
- \mathllap{\text{and }} K(x)\rightarrow 0 & \text{ as } x\rightarrow-\infty \\
- \intertext{and also}
- K(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^- \\
- \mathllap{\text{and }} K(x)\rightarrow -\infty & \text{ as } x\rightarrow 0^+
- \end{align*}
- The same are true for $M$ and $N$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{doyouunderstand}
-
- \subsection*{Rational functions}
- \begin{pccdefinition}[Rational functions]\label{rat:def:function}
- Rational functions have the form
- \[
- r(x) = \frac{p(x)}{q(x)}
- \]
- where both $p$ and $q$ are polynomials.
-
- Note that
- \begin{itemize}
- \item the domain or $r$ will be all real numbers, except those that
- make the \emph{denominator}, $q(x)$, equal to $0$;
- \item the zeros of $r$ are the zeros of $p$, i.e the real numbers
- that make the \emph{numerator}, $p(x)$, equal to $0$.
- \end{itemize}
-
- \Cref{rat:ex:oddpow,rat:ex:evenpow} are particularly important because $r$
- will behave like $\frac{1}{x}$, or $\frac{1}{x^2}$ around its vertical asymptotes,
- depending on the power that the relevant term is raised to| we will demonstrate
- this in what follows.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Rational or not]
- Identify whether each of the following functions is a rational or not. If
- the function is rational, state the domain.
- \begin{multicols}{3}
- \begin{enumerate}
- \item $r(x)=\dfrac{1}{x}$
- \item $f(x)=2^x+3$
- \item $g(x)=19$
- \item $h(x)=\dfrac{3+x}{4-x}$
- \item $k(x)=\dfrac{x^3+2x}{x-15}$
- \item $l(x)=9-4x$
- \item $m(x)=\dfrac{x+5}{(x-7)(x+9)}$
- \item $n(x)=x^2+6x+7$
- \item $q(x)=1-\dfrac{3}{x+1}$
- \end{enumerate}
- \end{multicols}
- \begin{pccsolution}
- \begin{enumerate}
- \item $r$ is rational; the domain of $r$ is $(-\infty,0)\cup(0,\infty)$.
- \item $f$ is not rational.
- \item $g$ is not rational; $g$ is constant.
- \item $h$ is rational; the domain of $h$ is $(-\infty,4)\cup(4,\infty)$.
- \item $k$ is rational; the domain of $k$ is $(-\infty,15)\cup(15,\infty)$.
- \item $l$ is not rational; $l$ is linear.
- \item $m$ is rational; the domain of $m$ is $(-\infty,-9)\cup(-9,7)\cup(7,\infty)$.
- \item $n$ is not rational; $n$ is quadratic (or you might describe $n$ as a polynomial).
- \item $q$ is rational; the domain of $q$ is $(-\infty,-1)\cup (-1,\infty)$.
- \end{enumerate}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Match formula to graph]
- Each of the following functions is graphed in \cref{rat:fig:whichiswhich}.
- Which is which?
- \[
- r(x)=\frac{1}{x-3}, \qquad q(x)=\frac{x-2}{x+5}, \qquad k(x)=\frac{1}{(x+2)(x-3)}
- \]
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/(x+5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-6.37]{f};
- \addplot[pccplot] expression[domain=-3.97:10]{f};
- \addplot[soldot] coordinates{(2,0)};
- \addplot[asymptote,domain=-6:6]({-5},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=6,
- xtick={-8,-6,...,8},
- ytick={-4,4},
- minor ytick={-3,...,5},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:2.8]{f};
- \addplot[pccplot] expression[domain=3.17:10]{f};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/((x-3)*(x+2));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-4,4},
- minor ytick={-3,...,3},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-2.03969]{f};
- \addplot[pccplot] expression[domain=-1.95967:2.95967]{f};
- \addplot[pccplot] expression[domain=3.03969:10]{f};
- \addplot[asymptote,domain=-5:5]({-2},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:which3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:whichiswhich}
- \end{figure}
-
- \begin{pccsolution}
- Let's start with the function $r$. Note that domain of $r$ is $(-\infty,3)\cup(0,3)$, so
- we search for a function that has a vertical asymptote at $3$. There
- are two possible choices: the functions graphed in \cref{rat:fig:which2,rat:fig:which3},
- but note that the function in \cref{rat:fig:which3} also has a vertical asymptote at $-2$
- which is not consistent with the formula for $r(x)$. Therefore, $y=r(x)$
- is graphed in \cref{rat:fig:which2}.
-
- The function $q$ has domain $(-\infty,-5)\cup(-5,\infty)$, so we search
- for a function that has a vertical asymptote at $-5$. The only candidate
- is the curve shown in \cref{rat:fig:which1}; note that the curve also goes through $(2,0)$,
- which is consistent with the formula for $q(x)$, since $q(2)=0$, i.e $q$
- has a zero at $2$.
-
- The function $k$ has domain $(-\infty,-2)\cup(-2,3)\cup(3,\infty)$, and
- has vertical asymptotes at $-2$ and $3$. This is consistent with
- the graph in \cref{rat:fig:which3} (and is the only curve that
- has $3$ branches).
-
- We note that each function behaves like $\frac{1}{x}$ around its vertical asymptotes,
- because each linear factor in each denominator is raised to the power $1$; if (for example)
- the definition of $r$ was instead
- \[
- r(x)=\frac{1}{(x-3)^2}
- \]
- then we would see that $r$ behaves like $\frac{1}{x^2}$ around its vertical asymptote, and
- the graph of $r$ would be very different. We will deal with these cases in the examples that follow.
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Repeated factors in the denominator]
- Consider the functions $f$, $g$, and $h$ that have formulas
- \[
- f(x)=\frac{x-2}{(x-3)(x+2)}, \qquad g(x)=\frac{x-2}{(x-3)^2(x+2)}, \qquad h(x)=\frac{x-2}{(x-3)(x+2)^2}
- \]
- which are graphed in \cref{rat:fig:repfactd}. Note that each function has $2$
- vertical asymptotes, and the domain of each function is
- \[
- (-\infty,-2)\cup(-2,3)\cup(3,\infty)
- \]
- so we are not surprised to see that each curve has $3$ branches. We also note that
- the numerator of each function is the same, which tells us that each function has
- only $1$ zero at $2$.
-
- The functions $g$ and $h$ are different from those that we have considered previously,
- because they have a repeated factor in the denominator. Notice in particular
- the way that the functions behave around their asymptotes:
- \begin{itemize}
- \item $f$ behaves like $\frac{1}{x}$ around both of its asymptotes;
- \item $g$ behaves like $\frac{1}{x}$ around $-2$, and like $\frac{1}{x^2}$ around $3$;
- \item $h$ behaves like $\frac{1}{x^2}$ around $-2$, and like $\frac{1}{x}$ around $3$.
- \end{itemize}
- \end{pccexample}
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,4},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.201]{f};
- \addplot[pccplot] expression[domain=-1.802:2.951]{f};
- \addplot[pccplot] expression[domain=3.052:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-2},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)(x-3)}$}
- \label{rat:fig:repfactd1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)*(x-3)^2);}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,4},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.039]{f};
- \addplot[pccplot] expression[domain=-1.959:2.796]{f};
- \addplot[pccplot] expression[domain=3.243:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-4:4]({-2},{x});
- % \addplot[asymptote,domain=-4:4]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)(x-3)^2}$}
- \label{rat:fig:repfactd2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+2)^2*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-4,ymax=4,
- xtick={-4,-2,...,2},
- ytick={-2,2},
- % grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.451]{f};
- \addplot[pccplot] expression[domain=-1.558:2.990]{f};
- \addplot[pccplot] expression[domain=3.010:6]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-4:4]({-2},{x});
- % \addplot[asymptote,domain=-4:4]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+2)^2(x-3)}$}
- \label{rat:fig:repfactd3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:repfactd}
- \end{figure}
-
- \Cref{rat:def:function} says that the zeros of
- the rational function $r$ that has formula $r(x)=\frac{p(x)}{q(x)}$ are
- the zeros of $p$. Let's explore this a little more.
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Zeros] Find the zeros of each of the following functions
- \[
- \alpha(x)=\frac{x+5}{3x-7}, \qquad \beta(x)=\frac{9-x}{x+1}, \qquad \gamma(x)=\frac{17x^2-10}{2x+1}
- \]
- \begin{pccsolution}
- We find the zeros of each function in turn by setting the numerator equal to $0$. The zeros of
- $\alpha$ are found by solving
- \[
- x+5=0
- \]
- The zero of $\alpha$ is $-5$.
-
- Similarly, we may solve $9-x=0$ to find the zero of $\beta$, which is clearly $9$.
-
- The zeros of $\gamma$ satisfy the equation
- \[
- 17x^2-10=0
- \]
- which we can solve using the square root property to obtain
- \[
- x=\pm\frac{10}{17}
- \]
- The zeros of $\gamma$ are $\pm\frac{10}{17}$.
- \end{pccsolution}
- \end{pccexample}
-
- \subsection*{Long-run behavior}
- Our focus so far has been on the behavior of rational functions around
- their \emph{vertical} asymptotes. In fact, rational functions also
- have interesting long-run behavior around their \emph{horizontal} or
- \emph{oblique} asymptotes. A rational function will always have either
- a horizontal or an oblique asymptote| the case is determined by the degree
- of the numerator and the degree of the denominator.
- \begin{pccdefinition}[Long-run behavior]\label{rat:def:longrun}
- Let $r$ be the rational function that has formula
- \[
- r(x) = \frac{a_n x^n + a_{n-1}x^{n-1}+\ldots + a_0}{b_m x^m + b_{m-1}x^{m-1}+\ldots+b_0}
- \]
- We can classify the long-run behavior of the rational function $r$
- according to the following criteria:
- \begin{itemize}
- \item if $n<m$ then $r$ has a horizontal asymptote with equation $y=0$;
- \item if $n=m$ then $r$ has a horizontal asymptote with equation $y=\dfrac{a_n}{b_m}$;
- \item if $n>m$ then $r$ will have an oblique asymptote as $x\rightarrow\pm\infty$ (more on this in \cref{rat:sec:oblique})
- \end{itemize}
- \end{pccdefinition}
- We will concentrate on functions that have horizontal asymptotes until
- we reach \cref{rat:sec:oblique}.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Long-run behavior graphically]\label{rat:ex:horizasymp}
- \pccname{Kebede} has graphed the following functions in his graphing calculator
- \[
- r(x)=\frac{x+1}{x-3}, \qquad s(x)=\frac{2(x+1)}{x-3}, \qquad t(x)=\frac{3(x+1)}{x-3}
- \]
- and obtained the curves shown in \cref{rat:fig:horizasymp}. Kebede decides
- to test his knowledgeable friend \pccname{Oscar}, and asks him
- to match the formulas to the graphs.
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=2*(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:2]{f};
- \addplot[pccplot] expression[domain=5:15]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:2.42857,samples=50]{f};
- \addplot[pccplot] expression[domain=3.8:15,samples=50]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{1});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=3*(x+1)/(x-3);}]
- \begin{axis}[
- framed,
- xmin=-15,xmax=15,
- ymin=-6,ymax=6,
- xtick={-12,-8,...,12},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-15:1.6666,samples=50]{f};
- \addplot[pccplot] expression[domain=7:15]{f};
- \addplot[soldot] coordinates{(-1,0)};
- \addplot[asymptote,domain=-6:6]({3},{x});
- \addplot[asymptote,domain=-15:15]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:horizasymp3}
- \end{subfigure}
- \caption{Horizontal asymptotes}
- \label{rat:fig:horizasymp}
- \end{figure}
-
- Oscar notices that each function has a vertical asymptote at $3$ and a zero at $-1$.
- The main thing that catches Oscar's eye is that each function has a different
- coefficient in the numerator, and that each curve has a different horizontal asymptote.
- In particular, Oscar notes that
- \begin{itemize}
- \item the curve shown in \cref{rat:fig:horizasymp1} has a horizontal asymptote with equation $y=2$;
- \item the curve shown in \cref{rat:fig:horizasymp2} has a horizontal asymptote with equation $y=1$;
- \item the curve shown in \cref{rat:fig:horizasymp3} has a horizontal asymptote with equation $y=3$.
- \end{itemize}
- Oscar is able to tie it all together for Kebede by referencing \cref{rat:def:longrun}. He says
- that since the degree of the numerator and the degree of the denominator is the same
- for each of the functions $r$, $s$, and $t$, the horizontal asymptote will be determined
- by evaluating the ratio of their leading coefficients.
-
- Oscar therefore says that $r$ should have a horizontal asymptote $y=\frac{1}{1}=1$, $s$ should
- have a horizontal asymptote $y=\frac{2}{1}=2$, and $t$ should have a horizontal asymptote
- $y=\frac{3}{1}=3$. Kebede is able to finish the problem from here, and says that $r$ is
- shown in \cref{rat:fig:horizasymp2}, $s$ is shown in \cref{rat:fig:horizasymp1}, and
- $t$ is shown in \cref{rat:fig:horizasymp3}.
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}[Long-run behavior numerically]
- \pccname{Xiao} and \pccname{Dwayne} saw \cref{rat:ex:horizasymp} but are a little confused
- about horizontal asymptotes. What does it mean to say that a function $r$ has a horizontal
- asymptote?
-
- They decide to explore the concept by
- constructing a table of values for the rational functions $R$ and $S$ that have formulas
- \[
- R(x)=\frac{-5(x+1)}{x-3}, \qquad S(x)=\frac{7(x-5)}{2(x+1)}
- \]
- In \cref{rat:tab:plusinfty} they model the behavior of $R$ and $S$ as $x\rightarrow\infty$,
- and in \cref{rat:tab:minusinfty} they model the behavior of $R$ and $S$ as $x\rightarrow-\infty$
- by substituting very large values of $|x|$ into each function.
- \begin{table}[!htb]
- \begin{minipage}{.5\textwidth}
- \centering
- \caption{$R$ and $S$ as $x\rightarrow\infty$}
- \label{rat:tab:plusinfty}
- \begin{tabular}{crr}
- \beforeheading
- $x$ & $R(x)$ & $S(x)$ \\ \afterheading
- $1\times 10^2$ & $-5.20619$ & $3.29208$ \\\normalline
- $1\times 10^3$ & $-5.02006$ & $3.47902$ \\\normalline
- $1\times 10^4$ & $-5.00200$ & $3.49790$ \\\normalline
- $1\times 10^5$ & $-5.00020$ & $3.49979$ \\\normalline
- $1\times 10^6$ & $-5.00002$ & $3.49998$ \\\lastline
- \end{tabular}
- \end{minipage}%
- \begin{minipage}{.5\textwidth}
- \centering
- \caption{$R$ and $S$ as $x\rightarrow-\infty$}
- \label{rat:tab:minusinfty}
- \begin{tabular}{crr}
- \beforeheading
- $x$ & $R(x)$ & $S(x)$ \\ \afterheading
- $-1\times 10^2$ & $-4.80583$ & $3.71212$ \\\normalline
- $-1\times 10^3$ & $-4.98006$ & $3.52102$ \\\normalline
- $-1\times 10^4$ & $-4.99800$ & $3.50210$ \\\normalline
- $-1\times 10^5$ & $-4.99980$ & $3.50021$ \\\normalline
- $-1\times 10^6$ & $-4.99998$ & $3.50002$ \\\lastline
- \end{tabular}
- \end{minipage}
- \end{table}
-
- Xiao and Dwayne study \cref{rat:tab:plusinfty,rat:tab:minusinfty} and decide that
- the functions $R$ and $S$ never actually touch their horizontal asymptotes, but they
- do get infinitely close. They also feel as if they have a better understanding of
- what it means to study the behavior of a function as $x\rightarrow\pm\infty$.
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}[Repeated factors in the numerator]
- Consider the functions $f$, $g$, and $h$ that have formulas
- \[
- f(x)=\frac{(x-2)^2}{(x-3)(x+1)}, \qquad g(x)=\frac{x-2}{(x-3)(x+1)}, \qquad h(x)=\frac{(x-2)^3}{(x-3)(x+1)}
- \]
- which are graphed in \cref{rat:fig:repfactn}. We note that each function has vertical
- asymptotes at $-1$ and $3$, and so the domain of each function is
- \[
- (-\infty,-1)\cup(-1,3)\cup(3,\infty)
- \]
- We also notice that the numerators of each function are quite similar| indeed, each
- function has a zero at $2$, but how does each function behave around their zero?
-
- Using \cref{rat:fig:repfactn} to guide us, we note that
- \begin{itemize}
- \item $f$ has a horizontal intercept $(2,0)$, but the curve of
- $f$ does not cut the horizontal axis| it bounces off it;
- \item $g$ also has a horizontal intercept $(2,0)$, and the curve
- of $g$ \emph{does} cut the horizontal axis;
- \item $h$ has a horizontal intercept $(2,0)$, and the curve of $h$
- also cuts the axis, but appears flattened as it does so.
- \end{itemize}
-
- We can further enrich our study by discussing the long-run behavior of each function.
- Using the tools of \cref{rat:def:longrun}, we can deduce that
- \begin{itemize}
- \item $f$ has a horizontal asymptote with equation $y=1$;
- \item $g$ has a horizontal asymptote with equation $y=0$;
- \item $h$ does \emph{not} have a horizontal asymptote| it has an oblique asymptote (we'll
- study this more in \cref{rat:sec:oblique}).
- \end{itemize}
- \end{pccexample}
-
- \begin{figure}[!htb]
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)^2/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- ytick={-8,-4,...,8},
- % grid=both,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.248,samples=50]{f};
- \addplot[pccplot] expression[domain=-0.794:2.976,samples=50]{f};
- \addplot[pccplot] expression[domain=3.026:5,samples=50]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-1},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{(x-2)^2}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- ymin=-10,ymax=10,
- xtick={-4,-2,...,4},
- ytick={-8,-4,...,8},
- % grid=both,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.075]{f};
- \addplot[pccplot] expression[domain=-0.925:2.975]{f};
- \addplot[pccplot] expression[domain=3.025:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-6:6]({-1},{x});
- % \addplot[asymptote,domain=-6:6]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x-2}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-2)^3/((x+1)*(x-3));}]
- \begin{axis}[
- % framed,
- xmin=-5,xmax=5,
- xtick={-8,-6,...,8},
- % grid=both,
- ymin=-30,ymax=30,
- width=\figurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-1.27]{f};
- \addplot[pccplot] expression[domain=-0.806:2.99185]{f};
- \addplot[pccplot] expression[domain=3.0085:5]{f};
- \addplot[soldot] coordinates{(2,0)};
- % \addplot[asymptote,domain=-30:30]({-1},{x});
- % \addplot[asymptote,domain=-30:30]({3},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{(x-2)^3}{(x+1)(x-3)}$}
- \label{rat:fig:repfactn3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:repfactn}
- \end{figure}
-
- \subsection*{Holes}
- Rational functions have a vertical asymptote at $a$ if the denominator is $0$ at $a$.
- What happens if the numerator is $0$ at the same place? In this case, we say that the rational
- function has a \emph{hole} at $a$.
- \begin{pccdefinition}[Holes]
- The rational function
- \[
- r(x)=\frac{p(x)}{q(x)}
- \]
- has a hole at $a$ if $p(a)=q(a)=0$. Note that holes are different from
- a vertical asymptotes. We represent that $r$ has a hole at the point
- $(a,r(a))$ on the curve $y=r(x)$ by
- using a hollow circle, $\circ$.
- \end{pccdefinition}
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}
- \pccname{Mohammed} and \pccname{Sue} have graphed the function $r$ that has formula
- \[
- r(x)=\frac{x^2+x-6}{(x-2)}
- \]
- in their calculators, and can not decide if the correct graph
- is \cref{rat:fig:hole} or \cref{rat:fig:hole1}.
-
- Luckily for them, Oscar is nearby, and can help them settle the debate.
- Oscar demonstrates that
- \begin{align*}
- r(x) & =\frac{(x+3)(x-2)}{(x-2)} \\
- & = x+3
- \end{align*}
- but only when $x\ne 2$, because the function is undefined at $2$. Oscar
- says that this necessarily means that the domain or $r$ is
- \[
- (-\infty,2)\cup(2,\infty)
- \]
- and that $r$ must have a hole at $2$.
-
- Mohammed and Sue are very grateful for the clarification, and conclude that
- the graph of $r$ is shown in \cref{rat:fig:hole1}.
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-4,...,8},
- ytick={-8,-4,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot expression[domain=-10:7]{x+3};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:hole}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-4,...,8},
- ytick={-8,-4,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot expression[domain=-10:7]{x+3};
- \addplot[holdot] coordinates{(2,5)};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:hole1}
- \end{minipage}%
- \end{figure}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{pccexample}
- Consider the function $f$ that has formula
- \[
- f(x)=\frac{x(x+3)}{x^2-4x}
- \]
- The domain of $f$ is $(-\infty,0)\cup(0,4)\cup(4,\infty)$ because both $0$ and $4$
- make the denominator equal to $0$. Notice that
- \begin{align*}
- f(x) & = \frac{x(x+3)}{x(x-4)} \\
- & = \frac{x+3}{x-4}
- \end{align*}
- provided that $x\ne 0$. Since $0$ makes the numerator
- and the denominator 0 at the same time, we say that $f$ has a hole at $(0,-\nicefrac{3}{4})$.
- Note that this necessarily means that $f$ does not have a vertical intercept.
-
- We also note $f$ has a vertical asymptote at $4$; the function is graphed in \cref{rat:fig:holeex}.
- \begin{figure}[!htb]
- \centering
- \begin{tikzpicture}[/pgf/declare function={f=(x+3)/(x-4);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- ]
- \addplot[pccplot] expression[domain=-10:3.36364,samples=50]{f};
- \addplot[pccplot] expression[domain=4.77:10]{f};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[holdot]coordinates{(0,-0.75)};
- \addplot[soldot] coordinates{(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=\dfrac{x(x+3)}{x^2-4x}$}
- \label{rat:fig:holeex}
- \end{figure}
- \end{pccexample}
-
-
-
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{pccexample}[Minimums and maximums]
- \pccname{Seamus} and \pccname{Trang} are discussing rational functions. Seamus says that
- if a rational function has a vertical asymptote, then it can
- not possibly have local minimums and maximums, nor can it have
- global minimums and maximums.
-
- Trang says this statement is not always true. She plots the functions
- $f$ and $g$ that have formulas
- \[
- f(x)=-\frac{32(x-1)(x+1)}{(x-2)^2(x+2)^2}, \qquad g(x)=\frac{32(x-1)(x+1)}{(x-2)^2(x+2)^2}
- \]
- in \cref{rat:fig:minmax1,rat:fig:minmax2} and shows them to Seamus. On seeing the graphs,
- Seamus quickly corrects himself, and says that $f$ has a local (and global)
- maximum of $2$ at $0$, and that $g$ has a local (and global) minimum of $-2$ at $0$.
-
- \begin{figure}[!htb]
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=-32*(x-1)*(x+1)/(( x-2)^2*(x+2)^2);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.01]{f};
- \addplot[pccplot] expression[domain=-1.45:1.45]{f};
- \addplot[pccplot] expression[domain=3.01:10]{f};
- \addplot[soldot] coordinates{(-1,0)(1,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=f(x)$}
- \label{rat:fig:minmax1}
- \end{minipage}%
- \hfill
- \begin{minipage}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=32*(x-1)*(x+1)/(( x-2)^2*(x+2)^2);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.01]{f};
- \addplot[pccplot] expression[domain=-1.45:1.45]{f};
- \addplot[pccplot] expression[domain=3.01:10]{f};
- \addplot[soldot] coordinates{(-1,0)(1,0)};
- \end{axis}
- \end{tikzpicture}
- \caption{$y=g(x)$}
- \label{rat:fig:minmax2}
- \end{minipage}%
- \end{figure}
-
- Seamus also notes that (in its domain) the function $f$ is always concave down, and
- that (in its domain) the function $g$ is always concave up. Furthermore, Trang
- observes that each function behaves like $\frac{1}{x^2}$ around each of its vertical
- asymptotes, because each linear factor in the denominator is raised to the power $2$.
-
- \pccname{Oscar} stops by and reminds both students about the long-run behavior; according
- to \cref{rat:def:longrun} since the degree of the denominator is greater than the
- degree of the numerator (in both functions), each function has a horizontal asymptote
- at $y=0$.
- \end{pccexample}
-
-
- \investigation*{}
- %===================================
- % Author: Pettit/Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[The spaghetti incident]
- The same Queen from \vref{exp:prob:queenschessboard} has recovered from
- the rice experiments, and has called her loyal jester for another challenge.
-
- The jester has an $11-$inch piece of uncooked spaghetti that he puts on a table;
- he uses a book to cover $\unit[1]{inch}$ of it so that
- $\unit[10]{inches}$ hang over the edge. The jester then produces a box of $\unit{mg}$
- weights that can be hung from the spaghetti.
-
- The jester says it will take $\unit[y]{mg}$ to break the spaghetti when hung
- $\unit[x]{inches}$ from the edge, according to the rule $y=\frac{100}{x}$.
- \begin{margintable}
- \centering
- \captionof{table}{}
- \label{rat:tab:spaghetti}
- \begin{tabular}{cc}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $1$ & \\\normalline
- $2$ & \\\normalline
- $3$ & \\\normalline
- $4$ & \\\normalline
- $5$ & \\\normalline
- $6$ & \\\normalline
- $7$ & \\\normalline
- $8$ & \\\normalline
- $9$ & \\\normalline
- $10$ & \\\lastline
- \end{tabular}
- \end{margintable}
- \begin{subproblem}\label{rat:prob:spaggt1}
- Help the Queen complete \cref{rat:tab:spaghetti}, and use $2$ digits after the decimal
- where appropriate.
- \begin{shortsolution}
- \begin{tabular}[t]{ld{2}}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- $1$ & 100 \\\normalline
- $2$ & 50 \\\normalline
- $3$ & 33.33 \\\normalline
- $4$ & 25 \\\normalline
- $5$ & 20 \\\normalline
- $6$ & 16.67 \\\normalline
- $7$ & 14.29 \\\normalline
- $8$ & 12.50 \\\normalline
- $9$ & 11.11 \\\normalline
- $10$ & 10 \\\lastline
- \end{tabular}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What do you notice about the number of $\unit{mg}$ that it takes to break
- the spaghetti as $x$ increases?
- \begin{shortsolution}
- It seems that the number of $\unit{mg}$ that it takes to break the spaghetti decreases
- as $x$ increases.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:spaglt1}
- The Queen wonders what happens when $x$ gets very small| help the Queen construct
- a table of values for $x$ and $y$ when $x=0.0001, 0.001, 0.01, 0.1, 0.5, 1$.
- \begin{shortsolution}
- \begin{tabular}[t]{d{2}l}
- \beforeheading
- \heading{$x$} & \heading{$y$} \\
- \afterheading
- 0.0001 & $1000000$ \\\normalline
- 0.001 & $100000$ \\\normalline
- 0.01 & $10000$ \\\normalline
- 0.1 & $1000$ \\\normalline
- 0.5 & $200$ \\\normalline
- 1 & $100$ \\\lastline
- \end{tabular}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What do you notice about the number of $\unit{mg}$ that it takes to break the spaghetti
- as $x\rightarrow 0$? Would it ever make sense to let $x=0$?
- \begin{shortsolution}
- The number of $\unit{mg}$ required to break the spaghetti increases as $x\rightarrow 0$.
- We can not allow $x$ to be $0$, as we can not divide by $0$, and we can not
- be $0$ inches from the edge of the table.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Plot your results from \cref{rat:prob:spaggt1,rat:prob:spaglt1} on the same graph,
- and join the points using a smooth curve| set the maximum value of $y$ as $200$, and
- note that this necessarily means that you will not be able to plot all of the points.
- \begin{shortsolution}
- The graph of $y=\frac{100}{x}$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-2,xmax=11,
- ymin=-20,ymax=200,
- xtick={2,4,...,10},
- ytick={20,40,...,180},
- grid=major,
- width=\solutionfigurewidth,
- ]
- \addplot+[-] expression[domain=0.5:10]{100/x};
- \addplot[soldot] coordinates{(0.5,200)(1,100)(2,50)(3,33.33)
- (4,25)(5,20)(16.67)(7,14.29)(8,12.50)(9,11.11)(10,10)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Using your graph, observe what happens to $y$ as $x$ increases. If we could somehow
- construct a piece of uncooked spaghetti that was $\unit[101]{inches}$ long, how many
- $\unit{mg}$ would it take to break the spaghetti?
- \begin{shortsolution}
- As $x$ increases, $y\rightarrow 0$. If we could construct a piece of spaghetti
- $\unit[101]{inches}$ long, it would only take $\unit[1]{mg}$ to break it $\left(\frac{100}{100}=1\right)$. Of course,
- the weight of spaghetti would probably cause it to break without the weight.
- \end{shortsolution}
- \end{subproblem}
- The Queen looks forward to more food-related investigations from her jester.
- \end{problem}
-
-
-
- %===================================
- % Author: Adams (Hughes)
- % Date: March 2012
- %===================================
- \begin{problem}[Debt Amortization]
- To amortize a debt means to pay it off in a given length of time using
- equal periodic payments. The payments include interest on the unpaid
- balance. The following formula gives the monthly payment, $M$, in dollars
- that is necessary to amortize a debt of $P$ dollars in $n$ months
- at a monthly interest rate of $i$
- \[
- M=\frac{P\cdot i}{1-(1+i)^{-n}}
- \]
- Use this formula in each of the following problems.
- \begin{subproblem}
- What monthly payments are necessary on a credit card debt of \$2000 at
- $\unit[1.5]{\%}$ monthly if you want to pay off the debt in $2$ years?
- In one year? How much money will you save by paying off the debt in the
- shorter amount of time?
- \begin{shortsolution}
- Paying off the debt in $2$ years, we use
- \begin{align*}
- M & = \frac{2000\cdot 0.015}{1-(1+0.015)^{-24}} \\
- & \approx 99.85
- \end{align*}
- The monthly payments are \$99.85.
-
- Paying off the debt in $1$ year, we use
- \begin{align*}
- M & = \frac{2000\cdot 0.015}{1-(1+0.015)^{-12}} \\
- & \approx 183.36
- \end{align*}
- The monthly payments are \$183.36
-
- In the $2$-year model we would pay a total of $\$99.85\cdot 12=\$2396.40$. In the
- $1$-year model we would pay a total of $\$183.36\cdot 12=\$2200.32$. We would therefore
- save $\$196.08$ if we went with the $1$-year model instead of the $2$-year model.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- To purchase a home, a family needs a loan of \$300,000 at $\unit[5.2]{\%}$
- annual interest. Compare a $20$ year loan to a $30$ year loan and make
- a recommendation for the family.
- (Note: when given an annual interest rate, it is a common business practice to divide by
- $12$ to get a monthly rate.)
- \begin{shortsolution}
- For the $20$-year loan we use
- \begin{align*}
- M & = \frac{300000\cdot \frac{0.052}{12}}{1-\left( 1+\frac{0.052}{12} \right)^{-12\cdot 20}} \\
- & \approx 2013.16
- \end{align*}
- The monthly payments are \$2013.16.
-
- For the $30$-year loan we use
- \begin{align*}
- M & = \frac{300000\cdot \frac{0.052}{12}}{1-\left( 1+\frac{0.052}{12} \right)^{-12\cdot 30}} \\
- & \approx 1647.33
- \end{align*}
- The monthly payments are \$1647.33.
-
- The total amount paid during the $20$-year loan is $\$2013.16\cdot 12\cdot 20=\$483,158.40$.
- The total amount paid during the $30$-year loan is $\$1647.33\cdot 12\cdot 30=\$593,038.80$.
-
- Recommendation: if you can afford the payments, choose the $20$-year loan.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- \pccname{Ellen} wants to make monthly payments of \$100 to pay off a debt of \$3000
- at \unit[12]{\%} annual interest. How long will it take her to pay off the
- debt?
- \begin{shortsolution}
- We are given $M=100$, $P=3000$, $i=0.01$, and we need to find $n$
- in the equation
- \[
- 100 = \frac{3000\cdot 0.01}{1-(1+0.01)^{-n}}
- \]
- Using logarithms, we find that $n\approx 36$. It will take
- Ellen about $3$ years to pay off the debt.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- \pccname{Jake} is going to buy a new car. He puts \$2000 down and wants to finance the
- remaining \$14,000. The dealer will offer him \unit[4]{\%} annual interest for
- $5$ years, or a \$2000
- rebate which he can use to reduce the amount of the loan and \unit[8]{\%}
- annual interest for 5 years. Which should he choose?
- \begin{shortsolution}
- \begin{description}
- \item[Option 1:] $\unit[4]{\%}$ annual interest for $5$ years on \$14,000.
- This means that the monthly payments will be calculated using
- \begin{align*}
- M & = \frac{14000\cdot \frac{0.04}{12}}{1-\left( 1+\frac{0.04}{12} \right)^{-12\cdot 5}} \\
- & \approx 257.83
- \end{align*}
- The monthly payments will be $\$257.83$. The total amount paid will be
- $\$257.83\cdot 5\cdot 12=\$15,469.80$, of which $\$1469.80$ is interest.
- \item[Option 2:] $\unit[8]{\%}$ annual interest for $5$ years on \$12,000.
- This means that the monthly payments will be calculated using
- \begin{align*}
- M & = \frac{12000\cdot \frac{0.08}{12}}{1-\left( 1+\frac{0.08}{12} \right)^{-12\cdot 5}} \\
- & \approx 243.32
- \end{align*}
- The monthly payments will be $\$243.32$. The total amount paid
- will be $\$243.32\cdot 5\cdot 12 =\$14,599.20$, of which $\$2599.2$ is
- interest.
- \end{description}
- Jake should choose option 1 to minimize the amount of interest
- he has to pay.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Rational or not]
- Decide if each of the following functions are rational or not. If
- they are rational, state their domain.
- \begin{multicols}{3}
- \begin{subproblem}
- $r(x)=\dfrac{3}{x}$
- \begin{shortsolution}
- $r$ is rational; the domain of $r$ is $(-\infty,0)\cup (0,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $s(y)=\dfrac{y}{6}$
- \begin{shortsolution}
- $s$ is not rational ($s$ is linear).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $t(z)=\dfrac{4-x}{7-8z}$
- \begin{shortsolution}
- $t$ is rational; the domain of $t$ is $\left( -\infty,\dfrac{7}{8} \right)\cup \left( \dfrac{7}{8},\infty \right)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $u(w)=\dfrac{w^2}{(w-3)(w+4)}$
- \begin{shortsolution}
- $u$ is rational; the domain of $w$ is $(-\infty,-4)\cup(-4,3)\cup(3,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $v(x)=\dfrac{4}{(x-2)^2}$
- \begin{shortsolution}
- $v$ is rational; the domain of $v$ is $(-\infty,2)\cup(2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $w(x)=\dfrac{9-x}{x+17}$
- \begin{shortsolution}
- $w$ is rational; the domain of $w$ is $(-\infty,-17)\cup(-17,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $a(x)=x^2+4$
- \begin{shortsolution}
- $a$ is not rational ($a$ is quadratic, or a polynomial of degree $2$).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $b(y)=3^y$
- \begin{shortsolution}
- $b$ is not rational ($b$ is exponential).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $c(z)=\dfrac{z^2}{z^3}$
- \begin{shortsolution}
- $c$ is rational; the domain of $c$ is $(-\infty,0)\cup (0,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $d(x)=x^2(x+3)(5x-7)$
- \begin{shortsolution}
- $d$ is not rational ($d$ is a polynomial).
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $e(\alpha)=\dfrac{\alpha^2}{\alpha^2-1}$
- \begin{shortsolution}
- $e$ is rational; the domain of $e$ is $(-\infty,-1)\cup(-1,1)\cup(1,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $f(\beta)=\dfrac{3}{4}$
- \begin{shortsolution}
- $f$ is not rational ($f$ is constant).
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Function evaluation]
- Let $r$ be the function that has formula
- \[
- r(x)=\frac{(x-2)(x+3)}{(x+5)(x-7)}
- \]
- Evaluate each of the following (if possible); if the value is undefined,
- then state so.
- \begin{multicols}{4}
- \begin{subproblem}
- $r(0)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(0) & =\frac{(0-2)(0+3)}{(0+5)(0-7)} \\
- & =\frac{-6}{-35} \\
- & =\frac{6}{35}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(1)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(1) & =\frac{(1-2)(1+3)}{(1+5)(1-7)} \\
- & =\frac{-4}{-36} \\
- & =\frac{1}{9}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(2)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(2) & =\frac{(2-2)(2+3)}{(2+5)(2-7)} \\
- & = \frac{0}{-50} \\
- & =0
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(4)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(4) & =\frac{(4-2)(4+3)}{(4+5)(4-7)} \\
- & =\frac{14}{-27} \\
- & =-\frac{14}{27}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(7)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(7) & =\frac{(7-2)(7+3)}{(7+5)(7-7)} \\
- & =\frac{50}{0}
- \end{aligned}$
-
- $r(7)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(-3)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-3) & =\frac{(-3-2)(-3+3)}{(-3+5)(-3-7)} \\
- & =\frac{0}{-20} \\
- & =0
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(-5)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-5) & =\frac{(-5-2)(-5+3)}{(-5+5)(-5-7)} \\
- & =\frac{14}{0}
- \end{aligned}$
-
- $r(-5)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r\left( \frac{1}{2} \right)$
- \begin{shortsolution}
- $\begin{aligned}[t]
- r\left( \frac{1}{2} \right) & = \frac{\left( \frac{1}{2}-2 \right)\left( \frac{1}{2}+3 \right)}{\left( \frac{1}{2}+5 \right)\left( \frac{1}{2}-7 \right)} \\
- & =\frac{-\frac{3}{2}\cdot\frac{7}{2}}{\frac{11}{2}\left( -\frac{13}{2} \right)} \\
- & =\frac{-\frac{21}{4}}{-\frac{143}{4}} \\
- & =\frac{37}{143}
- \end{aligned}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Holes or asymptotes?]
- State the domain of each of the following rational functions. Identify
- any holes or asymptotes.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x)=\dfrac{12}{x-2}$
- \begin{shortsolution}
- $f$ has a vertical asymptote at $2$; the domain of $f$ is $(-\infty,2)\cup (2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x)=\dfrac{x^2+x}{(x+1)(x-2)}$
- \begin{shortsolution}
- $g$ has a vertical asymptote at $2$, and a hole at $-1$; the domain of $g$ is $(-\infty,-1)\cup(-1,2)\cup(2,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x)=\dfrac{x^2+5x+4}{x^2+x-12}$
- \begin{shortsolution}
- $h$ has a vertical asymptote at $3$, and a whole at $-4$; the domain of $h$ is $(-\infty,-4)\cup(-4,3)\cup(3,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(z)=\dfrac{z+2}{2z-3}$
- \begin{shortsolution}
- $k$ has a vertical asymptote at $\dfrac{3}{2}$; the domain of $k$ is $\left( -\infty,\dfrac{3}{2} \right)\cup\left( \dfrac{3}{2},\infty \right)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(w)=\dfrac{w}{w^2+1}$
- \begin{shortsolution}
- $l$ does not have any vertical asymptotes nor holes; the domain of $w$ is $(-\infty,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(t)=\dfrac{14}{13-t^2}$
- \begin{shortsolution}
- $m$ has vertical asymptotes at $\pm\sqrt{13}$; the domain of $m$ is $(-\infty,\sqrt{13})\cup(-\sqrt{13},\sqrt{13})\cup(\sqrt{13},\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a graph]
- Consider the rational functions graphed in \cref{rat:fig:findformula}. Find
- the vertical asymptotes for each function, together with any zeros, and
- give a possible formula for each.
- \begin{shortsolution}
- \begin{itemize}
- \item \Vref{rat:fig:formula1}: possible formula is $r(x)=\dfrac{1}{x+5}$
- \item \Vref{rat:fig:formula2}: possible formula is $r(x)=\dfrac{(x+3)}{(x-5)}$
- \item \Vref{rat:fig:formula3}: possible formula is $r(x)=\dfrac{1}{(x-4)(x+3)}$.
- \end{itemize}
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x+4);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-4.16667,samples=50]{f};
- \addplot[pccplot] expression[domain=-3.83333:10,samples=50]{f};
- \addplot[asymptote,domain=-6:6]({-4},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x+3)/(x-5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-6,ymax=6,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.85714]{f};
- \addplot[pccplot] expression[domain=6.6:10]{f};
- \addplot[soldot] coordinates{(-3,0)};
- \addplot[asymptote,domain=-6:6]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula2}
- \end{subfigure}
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/((x-4)*(x+3));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-3,ymax=3,
- xtick={-8,-6,...,8},
- minor ytick={-4,-3,...,4},
- grid=both,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.0473]{f};
- \addplot[pccplot] expression[domain=-2.95205:3.95205]{f};
- \addplot[pccplot] expression[domain=4.0473:10]{f};
- \addplot[asymptote,domain=-3:3]({-3},{x});
- \addplot[asymptote,domain=-3:3]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:formula3}
- \end{subfigure}
- \caption{}
- \label{rat:fig:findformula}
- \end{widepage}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a formula of a rational
- function that has the listed properties.
- \begin{subproblem}
- Vertical asymptote at $2$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{1}{x-2}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Vertical asymptote at $5$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{1}{x-5}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Vertical asymptote at $-2$, and zero at $6$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{x-6}{x+2}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Zeros at $2$ and $-5$ and vertical asymptotes at $1$ and $-7$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{(x-2)(x+5)}{(x-1)(x+7)}$. Note that we could multiply the
- numerator or denominator by any real number and still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Given formula, find horizontal asymptotes]
- Each of the following functions has a horizontal asymptote. Write the equation
- of the horizontal asymptote for each function.
- \begin{multicols}{3}
- \begin{subproblem}
- $f(x) = \dfrac{1}{x}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $g(x) = \dfrac{2x+3}{x}$
- \begin{shortsolution}
- $y=2$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $h(x) = \dfrac{x^2+2x}{x^2+3}$
- \begin{shortsolution}
- $y=1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x) = \dfrac{x^2+7}{x}$
- \begin{shortsolution}
- $y=1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $l(x)=\dfrac{3x-2}{5x+8}$
- \begin{shortsolution}
- $y=\dfrac{3}{5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $m(x)=\dfrac{3x-2}{5x^2+8}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $n(x)=\dfrac{(6x+1)(x-7)}{(11x-8)(x-5)}$
- \begin{shortsolution}
- $y=\dfrac{6}{11}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $p(x)=\dfrac{19x^3}{5-x^4}$
- \begin{shortsolution}
- $y=0$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $q(x)=\dfrac{14x^2+x}{1-7x^2}$
- \begin{shortsolution}
- $y=-2$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{problem}[Given horizontal asymptotes, find formula]
- In each of the following problems, give a formula for a function that
- has the given horizontal asymptote. Note that there may be more than one option.
- \begin{multicols}{4}
- \begin{subproblem}
- $y=7$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{7(x-2)}{x+1}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $7$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-1$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{5-x^2}{x^2+10}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $10$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=53$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{53x^3}{x^3+4x^2-7}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $53$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-17$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{34(x+2)}{7-2x}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $-17$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{3}{2}$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{3x+4}{2(x+1)}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $\dfrac{3}{2}$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=0$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{4}{x}$. Note that there
- are other options, provided that the degree of the numerator is less than the degree
- of the denominator.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=-1$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{10x}{5-10x}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $-1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=2$
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{8x-3}{4x+1}$. Note that there
- are other options, provided that the degree of the numerator is the same as the degree
- of the denominator, and that the ratio of the leading
- coefficients is $2$.
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a description]
- In each of the following problems, give a formula for a function that
- has the prescribed properties. Note that there may be more than one option.
- \begin{subproblem}
- $f(x)\rightarrow 3$ as $x\rightarrow\pm\infty$.
- \begin{shortsolution}
- Possible option: $f(x)=\dfrac{3(x-2)}{x+7}$. Note that
- the zero and asymptote of $f$ could be changed, and $f$ would still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $r(x)\rightarrow -4$ as $x\rightarrow\pm\infty$.
- \begin{shortsolution}
- Possible option: $r(x)=\dfrac{-4(x-2)}{x+7}$. Note that
- the zero and asymptote of $r$ could be changed, and $r$ would still have the desired properties.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $k(x)\rightarrow 2$ as $x\rightarrow\pm\infty$, and $k$ has vertical asymptotes at $-3$ and $5$.
- \begin{shortsolution}
- Possible option: $k(x)=\dfrac{2x^2}{(x+3)(x-5)}$. Note that the denominator
- must have the given factors; the numerator could be any degree $2$ polynomial, provided the
- leading coefficient is $2$.
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: Feb 2011
- %===================================
- \begin{problem}
- Let $r$ be the rational function that has
- \[
- r(x) = \frac{(x+2)(x-1)}{(x+3)(x-4)}
- \]
- Each of the following questions are in relation to this function.
- \begin{subproblem}
- What is the vertical intercept of this function? State your answer as an
- ordered pair. \index{rational functions!vertical intercept}
- \begin{shortsolution}
- $\left(0,\frac{1}{6}\right)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:rational}
- What values of $x$ make the denominator equal to $0$?
- \begin{shortsolution}
- $-3,4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use your answer to \cref{rat:prob:rational} to write the domain of the function in
- both interval, and set builder notation. %\index{rational functions!domain}\index{domain!rational functions}
- \begin{shortsolution}
- Interval notation: $(-\infty,-3)\cup (-3,4)\cup (4,\infty)$.
- Set builder: $\{x|x\ne -3, \mathrm{and}\, x\ne 4\}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- What are the vertical asymptotes of the function? State your answers in
- the form $x=$
- \begin{shortsolution}
- $x=-3$ and $x=4$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}\label{rat:prob:zeroes}
- What values of $x$ make the numerator equal to $0$?
- \begin{shortsolution}
- $-2,1$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Use your answer to \cref{rat:prob:zeroes} to write the horizontal intercepts of
- $r$ as ordered pairs.
- \begin{shortsolution}
- $(-2,0)$ and $(1,0)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Holes]
- \pccname{Josh} and \pccname{Pedro} are discussing the function
- \[
- r(x)=\frac{x^2-1}{(x+3)(x-1)}
- \]
- \begin{subproblem}
- What is the domain of $r$?
- \begin{shortsolution}
- The domain of $r$ is $(-\infty,-3)\cup(-3,1)\cup(1,\infty)$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Josh notices that the numerator can be factored- can you see how?
- \begin{shortsolution}
- $(x^2-1)=(x-1)(x+1)$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Pedro asks, `Doesn't that just mean that
- \[
- r(x)=\frac{x+1}{x+3}
- \]
- for all values of $x$?' Josh says, `Nearly\ldots but not for all values of $x$'.
- What does Josh mean?
- \begin{shortsolution}
- $r(x)=\dfrac{x+1}{x+3}$ provided that $x\ne -1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Where does $r$ have vertical asymptotes, and where does it have holes?
- \begin{shortsolution}
- The function $r$ has a vertical asymptote at $-3$, and a hole at $1$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Sketch a graph of $r$.
- \begin{shortsolution}
- A graph of $r$ is shown below.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-8,-6,...,8},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:-3.25]{(x+1)/(x+3)};
- \addplot[pccplot] expression[domain=-2.75:10]{(x+1)/(x+3)};
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[holdot]coordinates{(1,0.5)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Function algebra]
- Let $r$ and $s$ be the rational functions that have formulas
- \[
- r(x)=\frac{2-x}{x+3}, \qquad s(x)=\frac{x^2}{x-4}
- \]
- Evaluate each of the following (if possible).
- \begin{multicols}{4}
- \begin{subproblem}
- $(r+s)(5)$
- \begin{shortsolution}
- $\frac{197}{8}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r-s)(3)$
- \begin{shortsolution}
- $\frac{53}{6}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r\cdot s)(4)$
- \begin{shortsolution}
- Undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $\left( \frac{r}{s} \right)(1)$
- \begin{shortsolution}
- $-\frac{3}{4}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: July 2012
- %===================================
- \begin{problem}[Transformations: given the transformation, find the formula]
- Let $r$ be the rational function that has formula.
- \[
- r(x)=\frac{x+5}{2x-3}
- \]
- In each of the following problems apply the given transformation to the function $r$ and
- write a formula for the transformed version of $r$.
- \begin{multicols}{2}
- \begin{subproblem}
- Shift $r$ to the right by $3$ units.
- \begin{shortsolution}
- $r(x-3)=\frac{x+2}{2x-9}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ to the left by $4$ units.
- \begin{shortsolution}
- $r(x+4)=\frac{x+9}{2x+5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ up by $\pi$ units.
- \begin{shortsolution}
- $r(x)+\pi=\frac{x+5}{2x-3}+\pi$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Shift $r$ down by $17$ units.
- \begin{shortsolution}
- $r(x)-17=\frac{x+5}{2x-3}-17$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $r$ over the horizontal axis.
- \begin{shortsolution}
- $-r(x)=-\frac{x+5}{2x-3}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Reflect $r$ over the vertical axis.
- \begin{shortsolution}
- $r(-x)=\frac{x-5}{2x+3}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
-
-
- %===================================
- % Author: Hughes
- % Date: May 2011
- %===================================
- \begin{problem}[Find a formula from a table]\label{rat:prob:findformula}
- \Crefrange{rat:tab:findformular}{rat:tab:findformulau} show values of rational functions $r$, $q$, $s$,
- and $t$. Assume that any values marked with an X are undefined.
-
- \begin{table}[!htb]
- \begin{widepage}
- \centering
- \caption{Tables for \cref{rat:prob:findformula}}
- \label{rat:tab:findformula}
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=r(x)$}
- \label{rat:tab:findformular}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{7}{2}$ \\\normalline
- $-3$ & $-18$ \\\normalline
- $-2$ & X \\\normalline
- $-1$ & $-4$ \\\normalline
- $0$ & $\nicefrac{-3}{2}$ \\\normalline
- $1$ & $\nicefrac{-2}{3}$ \\\normalline
- $2$ & $\nicefrac{-1}{4}$ \\\normalline
- $3$ & $0$ \\\normalline
- $4$ & $\nicefrac{1}{6}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=s(x)$}
- \label{rat:tab:findformulas}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{-2}{21}$ \\\normalline
- $-3$ & $\nicefrac{-1}{12}$ \\\normalline
- $-2$ & $0$ \\\normalline
- $-1$ & X \\\normalline
- $0$ & $\nicefrac{-2}{3}$ \\\normalline
- $1$ & $\nicefrac{-3}{4}$ \\\normalline
- $2$ & $\nicefrac{-4}{3}$ \\\normalline
- $3$ & X \\\normalline
- $4$ & $\nicefrac{6}{5}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=t(x)$}
- \label{rat:tab:findformulat}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{3}{5}$ \\\normalline
- $-3$ & $0$ \\\normalline
- $-2$ & X \\\normalline
- $-1$ & $3$ \\\normalline
- $0$ & $3$ \\\normalline
- $1$ & X \\\normalline
- $2$ & $0$ \\\normalline
- $3$ & $\nicefrac{3}{5}$ \\\normalline
- $4$ & $\nicefrac{7}{9}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \hfill
- \begin{subtable}{.2\textwidth}
- \centering
- \caption{$y=u(x)$}
- \label{rat:tab:findformulau}
- \begin{tabular}{rr}
- \beforeheading
- $x$ & $y$ \\ \afterheading
- $-4$ & $\nicefrac{16}{7}$ \\\normalline
- $-3$ & X \\\normalline
- $-2$ & $-\nicefrac{4}{5}$ \\\normalline
- $-1$ & $-\nicefrac{1}{8}$ \\\normalline
- $0$ & $0$ \\\normalline
- $1$ & $-\nicefrac{1}{8}$ \\\normalline
- $2$ & $-\nicefrac{4}{5}$ \\\normalline
- $3$ & X \\\normalline
- $4$ & $\nicefrac{16}{7}$ \\\lastline
- \end{tabular}
- \end{subtable}
- \end{widepage}
- \end{table}
- \begin{subproblem}
- Given that the formula for $r(x)$ has the form $r(x)=\dfrac{x-A}{x-B}$, use \cref{rat:tab:findformular}
- to find values of $A$ and $B$.
- \begin{shortsolution}
- $A=3$ and $B=-2$, so $r(x)=\dfrac{x-3}{x+2}$.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Check your formula by computing $r(x)$ at the values specified in the table.
- \begin{shortsolution}
- $\begin{aligned}[t]
- r(-4) & = \frac{-4-3}{-4+2} \\
- & = \frac{7}{2} \\
- \end{aligned}$
-
- $r(-3)=\ldots$ etc
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- The function $s$ in \cref{rat:tab:findformulas} has two vertical asymptotes and one zero.
- Can you find a formula for $s(x)$?
- \begin{shortsolution}
- $s(x)=\dfrac{x+2}{(x-3)(x+1)}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Check your formula by computing $s(x)$ at the values specified in the table.
- \begin{shortsolution}
- $\begin{aligned}[t]
- s(-4) & =\frac{-4+2}{(-4-3)(-4+1)} \\
- & =-\frac{2}{21}
- \end{aligned}$
-
- $s(-3)=\ldots$ etc
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that the formula for $t(x)$ has the form $t(x)=\dfrac{(x-A)(x-B)}{(x-C)(x-D)}$, use \cref{rat:tab:findformulat} to find the
- values of $A$, $B$, $C$, and $D$; hence write a formula for $t(x)$.
- \begin{shortsolution}
- $t(x)=\dfrac{(x+3)(x-2)}{(x+2)(x+1)}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Given that the formula for $u(x)$ has the form $u(x)=\dfrac{(x-A)^2}{(x-B)(x-C)}$, use \cref{rat:tab:findformulau} to find the
- values of $A$, $B$, and $C$; hence write a formula for $u(x)$.
- \begin{shortsolution}
- $u(x)=\dfrac{x^2}{(x+3)(x-3)}$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Graphing rational functions (horizontal asymptotes)}
- \reformatstepslist{R} % the steps list should be R1, R2, \ldots
- We studied rational functions in the previous section, but were
- not asked to graph them; in this section we will demonstrate the
- steps to be followed in order to sketch graphs of the functions.
-
- Remember from \vref{rat:def:function} that rational functions have
- the form
- \[
- r(x)=\frac{p(x)}{q(x)}
- \]
- In this section we will restrict attention to the case when
- \[
- \text{degree of }p\leq \text{degree of }q
- \]
- Note that this necessarily means that each function that we consider
- in this section \emph{will have a horizontal asymptote} (see \vref{rat:def:longrun}).
- The cases in which the degree of $p$ is greater than the degree of $q$
- is covered in the next section.
-
- Before we begin, it is important to remember the following:
- \begin{itemize}
- \item Our sketches will give a good representation of the overall
- shape of the graph, but until we have the tools of calculus (from MTH 251)
- we can not find local minimums, local maximums, and inflection points algebraically. This
- means that we will make our best guess as to where these points are.
- \item We will not concern ourselves too much with the vertical scale (because of
- our previous point)| we will, however, mark the vertical intercept (assuming there is one),
- and any horizontal asymptotes.
- \end{itemize}
- \begin{pccspecialcomment}[Steps to follow when sketching rational functions]\label{rat:def:stepsforsketch}
- \begin{steps}
- \item \label{rat:step:first} Find all vertical asymptotes and holes, and mark them on the
- graph using dashed vertical lines and open circles $\circ$ respectively.
- \item Find any intercepts, and mark them using solid circles $\bullet$;
- determine if the curve cuts the axis, or bounces off it at each zero.
- \item Determine the behavior of the function around each asymptote| does
- it behave like $\frac{1}{x}$ or $\frac{1}{x^2}$?
- \item \label{rat:step:penultimate} Determine the long-run behavior of the function, and mark the horizontal
- asymptote using a dashed horizontal line.
- \item \label{rat:step:last} Deduce the overall shape of the curve, and sketch it. If there isn't
- enough information from the previous steps, then construct a table of values
- including sample points from each branch.
- \end{steps}
- Remember that until we have the tools of calculus, we won't be able to
- find the exact coordinates of local minimums, local maximums, and points
- of inflection.
- \end{pccspecialcomment}
-
- The examples that follow show how \crefrange{rat:step:first}{rat:step:last} can be
- applied to a variety of different rational functions.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:1overxminus2p2}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $r$
- that has formula
- \[
- r(x)=\frac{1}{x-2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $r$ has a vertical asymptote at $2$; $r$ does not have any holes. The curve of
- $r$ will have $2$ branches.
- \item $r$ does not have any zeros since the numerator is never equal to $0$. The
- vertical intercept of $r$ is $\left( 0,-\frac{1}{2} \right)$.
- \item $r$ behaves like $\frac{1}{x}$ around its vertical asymptote since $(x-2)$
- is raised to the power $1$.
- \item Since the degree of the numerator is less than the degree of the denominator,
- according to \vref{rat:def:longrun} the horizontal asymptote of $r$ has equation $y=0$.
- \item We put the details we have obtained so far on \cref{rat:fig:1overxminus2p1}. Notice
- that there is only one way to complete the graph, which we have done in \cref{rat:fig:1overxminus2p2}.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-5:5]({2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \addplot[soldot] coordinates{(0,-0.5)}node[axisnode,anchor=north east]{$\left( 0,-\frac{1}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxminus2p1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=1/(x-2);}]
- \begin{axis}[
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-5:1.8,samples=50]{f};
- \addplot[pccplot] expression[domain=2.2:5]{f};
- \addplot[asymptote,domain=-5:5]({2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \addplot[soldot] coordinates{(0,-0.5)}node[axisnode,anchor=north east]{$\left( 0,-\frac{1}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxminus2p2}
- \end{subfigure}%
- \caption{$y=\dfrac{1}{x-2}$}
- \end{figure}
-
- The function $r$ in \cref{rat:ex:1overxminus2p2} has a horizontal asymptote which has equation $y=0$.
- This asymptote lies on the horizontal axis, and you might (understandably) find it hard
- to distinguish between the two lines (\cref{rat:fig:1overxminus2p2}). When faced
- with such a situation, it is perfectly acceptable to draw the horizontal axis
- as a dashed line| just make sure to label it correctly. We will demonstrate this
- in the next example.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:1overxp1}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $v$
- that has formula
- \[
- v(x)=\frac{10}{x}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $v$ has a vertical asymptote at $0$. $v$ does not have
- any holes. The curve of $v$ will have $2$ branches.
- \item $v$ does not have any zeros (since $10\ne 0$). Furthermore, $v$
- does not have a vertical intercept since $v(0)$ is undefined.
- \item $v$ behaves like $\frac{1}{x}$ around its vertical asymptote.
- \item $v$ has a horizontal asymptote with equation $y=0$.
- \item We put the details we have obtained so far in \cref{rat:fig:1overxp1}.
- We do not have enough information to sketch $v$ yet (because $v$ does
- not have any intercepts), so let's pick a sample
- point in either of the $2$ branches| it doesn't matter where our sample point
- is, because we know what the overall shape will be. Let's compute $v(2)$
- \begin{align*}
- v(2) & =\dfrac{10}{2} \\
- & = 5
- \end{align*}
- We therefore mark the point $(2,5)$ on \cref{rat:fig:1overxp2}, and then complete the sketch using
- the details we found in the previous steps.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-5,5},
- ytick={-5,5},
- axis line style={color=white},
- width=\textwidth,
- ]
- \addplot[asymptote,<->,domain=-10:10]({0},{x});
- \addplot[asymptote,<->,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=10/x;}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-5,5},
- ytick={-5,5},
- axis line style={color=white},
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:-1]{f};
- \addplot[pccplot] expression[domain=1:10]{f};
- \addplot[soldot] coordinates{(2,5)}node[axisnode,anchor=south west]{$(2,5)$};
- \addplot[asymptote,<->,domain=-10:10]({0},{x});
- \addplot[asymptote,<->,domain=-10:10]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:1overxp2}
- \end{subfigure}%
- \caption{$y=\dfrac{10}{x}$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:asympandholep1}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $u$
- that has formula
- \[
- u(x)=\frac{-4(x^2-9)}{x^2-8x+15}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item We begin by factoring both the numerator and denominator of $u$ to help
- us find any vertical asymptotes or holes
- \begin{align*}
- u(x) & =\frac{-4(x^2-9)}{x^2-8x+15} \\
- & =\frac{-4(x+3)(x-3)}{(x-5)(x-3)} \\
- & =\frac{-4(x+3)}{x-5}
- \end{align*}
- provided that $x\ne 3$. Therefore $u$ has a vertical asymptote at $5$ and
- a hole at $3$. The curve of $u$ has $2$ branches.
- \item $u$ has a simple zero at $-3$. The vertical intercept of $u$ is $\left( 0,\frac{12}{5} \right)$.
- \item $u$ behaves like $\frac{1}{x}$ around its vertical asymptote at $4$.
- \item Using \vref{rat:def:longrun} the equation of the horizontal asymptote of $u$ is $y=-4$.
- \item We put the details we have obtained so far on \cref{rat:fig:1overxminus2p1}. Notice
- that there is only one way to complete the graph, which we have done in \cref{rat:fig:1overxminus2p2}.
- \end{steps}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,10},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-20:20]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-4});
- \addplot[soldot] coordinates{(-3,0)(0,2.4)}node[axisnode,anchor=south east]{$\left( 0,\frac{12}{5} \right)$};
- \addplot[holdot] coordinates{(3,12)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:asympandholep1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=-4*(x+3)/(x-5);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,10},
- width=\textwidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.6666,samples=50]{f};
- \addplot[pccplot] expression[domain=7:10]{f};
- \addplot[asymptote,domain=-20:20]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{-4});
- \addplot[soldot] coordinates{(-3,0)(0,2.4)}node[axisnode,anchor=south east]{$\left( 0,\frac{12}{5} \right)$};
- \addplot[holdot] coordinates{(3,12)};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:asympandholep2}
- \end{subfigure}%
- \caption{$y=\dfrac{-4(x+3)}{x-5}$}
- \end{figure}
- \end{pccsolution}
- \end{pccexample}
-
- \Cref{rat:ex:1overxminus2p2,rat:ex:1overxp1,rat:ex:asympandholep1} have focused on functions
- that only have one vertical asymptote; the remaining examples in this section
- concern functions that have more than one vertical asymptote. We will demonstrate
- that \crefrange{rat:step:first}{rat:step:last} still apply.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:sketchtwoasymp}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $w$
- that has formula
- \[
- w(x)=\frac{2(x+3)(x-5)}{(x+5)(x-4)}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $w$ has vertical asymptotes at $-5$ and $4$. $w$ does not have
- any holes. The curve of $w$ will have $3$ branches.
- \item $w$ has simple zeros at $-3$ and $5$. The vertical intercept of $w$
- is $\left( 0,\frac{3}{2} \right)$.
- \item $w$ behaves like $\frac{1}{x}$ around both of its vertical
- asymptotes.
- \item The degree of the numerator of $w$ is $2$ and the degree of the
- denominator of $w$ is also $2$. Using the ratio of the leading coefficients
- of the numerator and denominator, we say that $w$ has a horizontal
- asymptote with equation $y=\frac{2}{1}=2$.
- \item We put the details we have obtained so far on \cref{rat:fig:sketchtwoasymptp1}.
-
- The function $w$ is a little more complicated than the functions that
- we have considered in the previous examples because the curve has $3$
- branches. When graphing such functions, it is generally a good idea to start with the branch
- for which you have the most information| in this case, that is the \emph{middle} branch
- on the interval $(-5,4)$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- (because of our observations about the behavior of $w$ around its vertical asymptotes),
- which we have done in \cref{rat:fig:sketchtwoasymptp2}.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[soldot] coordinates{(-3,0)(5,0)};
- \addplot[soldot] coordinates{(0,1.5)}node[axisnode,anchor=north west]{$\left( 0,\frac{3}{2} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:sketchtwoasymptp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=2*(x+3)*(x-5)/( (x+5)*(x-4));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[soldot] coordinates{(-3,0)(5,0)};
- \addplot[soldot] coordinates{(0,1.5)}node[axisnode,anchor=north west]{$\left( 0,\frac{3}{2} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.56708]{f};
- \addplot[pccplot] expression[domain=-4.63511:3.81708]{f};
- \addplot[pccplot] expression[domain=4.13511:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:sketchtwoasymptp2}
- \end{subfigure}%
- \caption{$y=\dfrac{2(x+3)(x-5)}{(x+5)(x-4)}$}
- \end{figure}
-
- The rational functions that we have considered so far have had simple
- factors in the denominator; each function has behaved like $\frac{1}{x}$
- around each of its vertical asymptotes. \Cref{rat:ex:2asympnozeros,rat:ex:2squaredasymp}
- consider functions that have a repeated factor in the denominator.
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:2asympnozeros}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $f$
- that has formula
- \[
- f(x)=\frac{100}{(x+5)(x-4)^2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $f$ has vertical asymptotes at $-5$ and $4$. $f$ does not have
- any holes. The curve of $f$ will have $3$ branches.
- \item $f$ does not have any zeros (since $100\ne 0$). The vertical intercept of $f$
- is $\left( 0,\frac{5}{4} \right)$.
- \item $f$ behaves like $\frac{1}{x}$ around $-5$ and behaves like $\frac{1}{x^2}$
- around $4$.
- \item The degree of the numerator of $f$ is $0$ and the degree of the
- denominator of $f$ is $2$. $f$ has a horizontal asymptote with
- equation $y=0$.
- \item We put the details we have obtained so far on \cref{rat:fig:2asympnozerosp1}.
-
- The function $f$ is similar to the function $w$ that we considered in \cref{rat:ex:sketchtwoasymp}|
- it has two vertical asymptotes and $3$ branches, but in contrast to $w$ it does not have any zeros.
-
- We sketch $f$ in \cref{rat:fig:2asympnozerosp2}, using the middle branch as our guide
- because we have the most information about the function on the interval $(-5,4)$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $f$ around its vertical asymptotes (it behaves like $\frac{1}{x}$),
- which we have done in \cref{rat:fig:2asympnozerosp2}.
-
- Note that we are not yet able to find the local minimum of $f$ algebraically on the interval $(-5,4)$,
- so we make a reasonable guess as to where it is| we can be confident that it is above the horizontal axis
- since $f$ has no zeros. You may think that this is unsatisfactory, but once we have the tools of calculus, we will
- be able to find local minimums more precisely.
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(0,1.25)}node[axisnode,anchor=south east]{$\left( 0,\frac{5}{4} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2asympnozerosp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=100/( (x+5)*(x-4)^2);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(0,1.25)}node[axisnode,anchor=south east]{$\left( 0,\frac{5}{4} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.12022]{f};
- \addplot[pccplot] expression[domain=-4.87298:2.87298,samples=50]{f};
- \addplot[pccplot] expression[domain=5:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2asympnozerosp2}
- \end{subfigure}%
- \caption{$y=\dfrac{100}{(x+5)(x-4)^2}$}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: May 2012
- %===================================
- \begin{pccexample}\label{rat:ex:2squaredasymp}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $g$
- that has formula
- \[
- g(x)=\frac{50(2-x)}{(x+3)^2(x-5)^2}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $g$ has vertical asymptotes at $-3$ and $5$. $g$ does
- not have any holes. The curve of $g$ will have $3$ branches.
- \item $g$ has a simple zero at $2$. The vertical intercept of $g$ is
- $\left( 0,\frac{4}{9} \right)$.
- \item $g$ behaves like $\frac{1}{x^2}$ around both of its
- vertical asymptotes.
- \item The degree of the numerator of $g$ is $1$ and the degree of the denominator
- of $g$ is $4$. Using \vref{rat:def:longrun}, we calculate that
- the horizontal asymptote of $g$ has equation $y=0$.
- \item The details that we have found so far have been drawn in
- \cref{rat:fig:2squaredasymp1}. The function $g$ is similar to the functions
- we considered in \cref{rat:ex:sketchtwoasymp,rat:ex:2asympnozeros} because
- it has $2$ vertical asymptotes and $3$ branches.
-
- We sketch $g$ using the middle branch as our guide because we have the most information
- about $g$ on the interval $(-3,5)$. Note that there is no other way to draw this branch
- without introducing other zeros which $g$ does not have.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $g$ around its vertical asymptotes| it
- behaves like $\frac{1}{x^2}$.
-
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(2,0)(0,4/9)}node[axisnode,anchor=south west]{$\left( 0,\frac{4}{9} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2squaredasymp1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=50*(2-x)/( (x+3)^2*(x-5)^2);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- ytick={-5,5},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-3},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{0});
- \addplot[soldot] coordinates{(2,0)(0,4/9)}node[axisnode,anchor=south west]{$\left( 0,\frac{4}{9} \right)$};
- \addplot[pccplot] expression[domain=-10:-3.61504]{f};
- \addplot[pccplot] expression[domain=-2.3657:4.52773]{f};
- \addplot[pccplot] expression[domain=5.49205:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:2squaredasymp2}
- \end{subfigure}%
- \caption{$y=\dfrac{50(2-x)}{(x+3)^2(x-5)^2}$}
- \end{figure}
-
- Each of the rational functions that we have considered so far has had either
- a \emph{simple} zero, or no zeros at all. Remember from our work on polynomial
- functions, and particularly \vref{poly:def:multzero}, that a \emph{repeated} zero
- corresponds to the curve of the function behaving differently at the zero
- when compared to how the curve behaves at a simple zero. \Cref{rat:ex:doublezero} details a
- function that has a non-simple zero.
-
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{pccexample}\label{rat:ex:doublezero}
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of the function $g$
- that has formula
- \[
- h(x)=\frac{(x-3)^2}{(x+4)(x-6)}
- \]
- \begin{pccsolution}
- \begin{steps}
- \item $h$ has vertical asymptotes at $-4$ and $6$. $h$ does
- not have any holes. The curve of $h$ will have $3$ branches.
- \item $h$ has a zero at $3$ that has \emph{multiplicity $2$}.
- The vertical intercept of $h$ is
- $\left( 0,-\frac{3}{8} \right)$.
- \item $h$ behaves like $\frac{1}{x}$ around both of its
- vertical asymptotes.
- \item The degree of the numerator of $h$ is $2$ and the degree of the denominator
- of $h$ is $2$. Using \vref{rat:def:longrun}, we calculate that
- the horizontal asymptote of $h$ has equation $y=1$.
- \item The details that we have found so far have been drawn in
- \cref{rat:fig:doublezerop1}. The function $h$ is different
- from the functions that we have considered in previous examples because
- of the multiplicity of the zero at $3$.
-
- We sketch $h$ using the middle branch as our guide because we have the most information
- about $h$ on the interval $(-4,6)$. Note that there is no other way to draw this branch
- without introducing other zeros which $h$ does not have| also note how
- the curve bounces off the horizontal axis at $3$.
-
- Once we have drawn the middle branch, there is only one way to complete the graph
- because of our observations about the behavior of $h$ around its vertical asymptotes| it
- behaves like $\frac{1}{x}$.
-
- \end{steps}
- \end{pccsolution}
- \end{pccexample}
-
- \begin{figure}[!htbp]
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-3,3},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-4},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot] coordinates{(3,0)(0,-3/8)}node[axisnode,anchor=north west]{$\left( 0,-\frac{3}{8} \right)$};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:doublezerop1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{.45\textwidth}
- \begin{tikzpicture}[/pgf/declare function={f=(x-3)^2/((x+4)*(x-6));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- ytick={-3,3},
- width=\textwidth,
- ]
- \addplot[asymptote,domain=-10:10]({-4},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot] coordinates{(3,0)(0,-3/8)}node[axisnode,anchor=north west]{$\left( 0,-\frac{3}{8} \right)$};
- \addplot[pccplot] expression[domain=-10:-5.20088]{f};
- \addplot[pccplot] expression[domain=-3.16975:5.83642,samples=50]{f};
- \addplot[pccplot] expression[domain=6.20088:10]{f};
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:doublezerop2}
- \end{subfigure}%
- \caption{$y=\dfrac{(x-3)^2}{(x+4)(x-6)}$}
- \end{figure}
- \begin{exercises}
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{rat:step:last}]\label{rat:prob:deduce}
- \pccname{Katie} is working on graphing rational functions. She
- has been concentrating on functions that have the form
- \begin{equation}\label{rat:eq:deducecurve}
- f(x)=\frac{a(x-b)}{x-c}
- \end{equation}
- Katie notes that functions with this type of formula have a zero
- at $b$, and a vertical asymptote at $c$. Furthermore, these functions
- behave like $\frac{1}{x}$ around their vertical asymptote, and the
- curve of each function will have $2$ branches.
-
- Katie has been working with $3$ functions that have the form given
- in \cref{rat:eq:deducecurve}, and has followed \crefrange{rat:step:first}{rat:step:penultimate};
- her results are shown in \cref{rat:fig:deducecurve}. There is just one
- more thing to do to complete the graphs| follow \cref{rat:step:last}.
- Help Katie finish each graph by deducing the curve of each function.
- \begin{shortsolution}
- \Vref{rat:fig:deducecurve1}
-
- \begin{tikzpicture}[/pgf/declare function={f=3*(x+4)/(x+5);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,12/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \addplot[pccplot] expression[domain=-10:-5.42857]{f};
- \addplot[pccplot] expression[domain=-4.76923:10,samples=50]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducecurve2}
-
- \begin{tikzpicture}[/pgf/declare function={f=-3*(x-2)/(x-4);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(2,0)(0,-3/2)};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-3});
- \addplot[pccplot] expression[domain=-10:3.53846,samples=50]{f};
- \addplot[pccplot] expression[domain=4.85714:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducecurve4}
-
- \begin{tikzpicture}[/pgf/declare function={f=2*(x-6)/(x-4);}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(6,0)(0,3)};
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[pccplot] expression[domain=-10:3.5,samples=50]{f};
- \addplot[pccplot] expression[domain=4.3333:10]{f};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-4,0)(0,12/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(2,0)(0,-3/2)};
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{-3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve2}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(6,0)(0,3)};
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducecurve4}
- \end{subfigure}
- \caption{Graphs for \cref{rat:prob:deduce}}
- \label{rat:fig:deducecurve}
- \end{widepage}
- \end{figure}
-
- %===================================
- % Author: Hughes
- % Date: June 2012
- %===================================
- \begin{problem}[\Cref{rat:step:last} for more complicated rational functions]\label{rat:prob:deducehard}
- \pccname{David} is also working on graphing rational functions, and
- has been concentrating on functions that have the form
- \[
- r(x)=\frac{a(x-b)(x-c)}{(x-d)(x-e)}
- \]
- David notices that functions with this type of formula have simple zeros
- at $b$ and $c$, and vertical asymptotes at $d$ and $e$. Furthermore,
- these functions behave like $\frac{1}{x}$ around both vertical asymptotes,
- and the curve of the function will have $3$ branches.
-
- David has followed \crefrange{rat:step:first}{rat:step:penultimate} for
- $3$ separate functions, and drawn the results in \cref{rat:fig:deducehard}.
- Help David finish each graph by deducing the curve of each function.
- \begin{shortsolution}
- \Vref{rat:fig:deducehard1}
-
- \begin{tikzpicture}[/pgf/declare function={f=(x-6)*(x+3)/( (x-4)*(x+1));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(6,0)(0,9/2)};
- \addplot[asymptote,domain=-10:10]({-1},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[pccplot] expression[domain=-10:-1.24276]{f};
- \addplot[pccplot] expression[domain=-0.6666:3.66667]{f};
- \addplot[pccplot] expression[domain=4.24276:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducehard2}
-
- \begin{tikzpicture}[/pgf/declare function={f=3*(x-2)*(x+3)/( (x-6)*(x+5));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(2,0)(0,3/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \addplot[pccplot] expression[domain=-10:-5.4861]{f};
- \addplot[pccplot] expression[domain=-4.68395:5.22241]{f};
- \addplot[pccplot] expression[domain=7.34324:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \Vref{rat:fig:deducehard3}
-
- \begin{tikzpicture}[/pgf/declare function={f=2*(x-7)*(x+3)/( (x+6)*(x-5));}]
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\solutionfigurewidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(7,0)(0,1.4)};
- \addplot[asymptote,domain=-10:10]({-6},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \addplot[pccplot] expression[domain=-10:-6.91427]{f};
- \addplot[pccplot] expression[domain=-5.42252:4.66427]{f};
- \addplot[pccplot] expression[domain=5.25586:10]{f};
- \end{axis}
- \end{tikzpicture}
-
- \end{shortsolution}
- \end{problem}
-
- \begin{figure}[!htb]
- \begin{widepage}
- \setlength{\figurewidth}{0.3\textwidth}
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(6,0)(0,9/2)};
- \addplot[asymptote,domain=-10:10]({-1},{x});
- \addplot[asymptote,domain=-10:10]({4},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard1}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(2,0)(0,3/5)};
- \addplot[asymptote,domain=-10:10]({-5},{x});
- \addplot[asymptote,domain=-10:10]({6},{x});
- \addplot[asymptote,domain=-10:10]({x},{3});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard2}
- \end{subfigure}%
- \hfill
- \begin{subfigure}{\figurewidth}
- \begin{tikzpicture}
- \begin{axis}[
- xmin=-10,xmax=10,
- ymin=-10,ymax=10,
- xtick={-8,-6,...,8},
- width=\textwidth,
- ]
- \addplot[soldot] coordinates{(-3,0)(7,0)(0,1.4)};
- \addplot[asymptote,domain=-10:10]({-6},{x});
- \addplot[asymptote,domain=-10:10]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{2});
- \end{axis}
- \end{tikzpicture}
- \caption{}
- \label{rat:fig:deducehard3}
- \end{subfigure}%
- \hfill
- \caption{Graphs for \cref{rat:prob:deducehard}}
- \label{rat:fig:deducehard}
- \end{widepage}
- \end{figure}
- %===================================
- % Author: Adams (Hughes)
- % Date: March 2012
- %===================================
- \begin{problem}[\Crefrange{rat:step:first}{rat:step:last}]
- Use \crefrange{rat:step:first}{rat:step:last} to sketch a graph of
- each of the following functions
- \fixthis{need 2 more subproblems here}
- \begin{multicols}{4}
- \begin{subproblem}
- $y=\dfrac{4}{x+2}$
- \begin{shortsolution}
- Vertical intercept: $(0,2)$; vertical asymptote: $x=-2$, horizontal asymptote: $y=0$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-2.8]{4/(x+2)};
- \addplot[pccplot] expression[domain=-1.2:5]{4/(x+2)};
- \addplot[soldot]coordinates{(0,2)};
- \addplot[asymptote,domain=-5:5]({-2},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{2x-1}{x^2-9}$
- \begin{shortsolution}
- Vertical intercept:$\left( 0,\frac{1}{9} \right)$;
- horizontal intercept: $\left( \frac{1}{2},0 \right)$;
- vertical asymptotes: $x=-3$, $x=3$, horizontal asymptote: $y=0$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-3.23974]{(2*x-1)/(x^2-9)};
- \addplot[pccplot,samples=50] expression[domain=-2.77321:2.83974]{(2*x-1)/(x^2-9)};
- \addplot[pccplot] expression[domain=3.17321:5]{(2*x-1)/(x^2-9)};
- \addplot[soldot]coordinates{(0,1/9)(1/2,0)};
- \addplot[asymptote,domain=-5:5]({-3},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \addplot[asymptote,domain=-5:5]({x},{0});
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{x+3}{x-5}$
- \begin{shortsolution}
- Vertical intercept $\left( 0,-\frac{3}{5} \right)$; horizontal
- intercept: $(-3,0)$; vertical asymptote: $x=5$; horizontal asymptote: $y=1$.
-
- \begin{tikzpicture}
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-5,ymax=5,
- xtick={-8,-6,...,8},
- minor ytick={-3,-1,...,3},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:3.666]{(x+3)/(x-5)};
- \addplot[pccplot] expression[domain=7:10]{(x+3)/(x-5)};
- \addplot[asymptote,domain=-5:5]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{1});
- \addplot[soldot]coordinates{(0,-3/5)(-3,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{2x+3}{3x-1}$
- \begin{shortsolution}
- Vertical intercept: $(0,-3)$; horizontal intercept: $\left( -\frac{3}{2},0 \right)$;
- vertical asymptote: $x=\frac{1}{3}$, horizontal asymptote: $y=\frac{2}{3}$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(2*x+3)/(3*x-1);}]
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:0.1176]{f};
- \addplot[pccplot] expression[domain=0.6153:5]{f};
- \addplot[asymptote,domain=-5:5]({1/3},{x});
- \addplot[asymptote,domain=-5:5]({x},{2/3});
- \addplot[soldot]coordinates{(0,-3)(-3/2,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{4-x^2}{x^2-9}$
- \begin{shortsolution}
- Vertical intercept: $\left( 0,-\frac{4}{9} \right)$;
- horizontal intercepts: $(2,0)$, $(-2,0)$;
- vertical asymptotes: $x=-3$, $x=3$; horizontal asymptote: $y=-1$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(4-x^2)/(x^2-9);}]
- \begin{axis}[
- framed,
- xmin=-5,xmax=5,
- ymin=-5,ymax=5,
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-5:-3.20156]{f};
- \addplot[pccplot,samples=50] expression[domain=-2.85774:2.85774]{f};
- \addplot[pccplot] expression[domain=3.20156:5]{f};
- \addplot[asymptote,domain=-5:5]({-3},{x});
- \addplot[asymptote,domain=-5:5]({3},{x});
- \addplot[asymptote,domain=-5:5]({x},{-1});
- \addplot[soldot] coordinates{(-2,0)(2,0)(0,-4/9)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{(4x+5)(3x-4)}{(2x+5)(x-5)}$
- \begin{shortsolution}
- Vertical intercept: $\left( 0,\frac{4}{5} \right)$;
- horizontal intercepts: $\left( -\frac{5}{4},0 \right)$, $\left( \frac{4}{3},0 \right)$;
- vertical asymptotes: $x=-\frac{5}{2}$, $x=5$; horizontal asymptote: $y=6$.
-
- \begin{tikzpicture}[/pgf/declare function={f=(4*x+5)*(3*x-4)/((2*x+5)*(x-5));}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-20,ymax=20,
- xtick={-8,-6,...,8},
- ytick={-10,0,...,10},
- minor ytick={-15,-5,...,15},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot] expression[domain=-10:-2.73416]{f};
- \addplot[pccplot] expression[domain=-2.33689:4.2792]{f};
- \addplot[pccplot] expression[domain=6.26988:10]{f};
- \addplot[asymptote,domain=-20:20]({-5/2},{x});
- \addplot[asymptote,domain=-20:20]({5},{x});
- \addplot[asymptote,domain=-10:10]({x},{6});
- \addplot[soldot]coordinates{(0,4/5)(-5/4,0)(4/3,0)};
- \end{axis}
- \end{tikzpicture}
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Inverse functions]
- Each of the following rational functions are invertible
- \[
- F(x)=\frac{2x+1}{x-3}, \qquad G(x)= \frac{1-4x}{x+3}
- \]
- \begin{subproblem}
- State the domain of each function.
- \begin{shortsolution}
- \begin{itemize}
- \item The domain of $F$ is $(-\infty,3)\cup(3,\infty)$.
- \item The domain of $G$ is $(-\infty,-3)\cup(-3,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Find the inverse of each function, and state its domain.
- \begin{shortsolution}
- \begin{itemize}
- \item $F^{-1}(x)=\frac{3x+1}{x-2}$; the domain of $F^{-1}$ is $(-\infty,2)\cup(2,\infty)$.
- \item $G^{-1}(x)=\frac{3x+1}{x+4}$; the domain of $G^{-1}$ is $(-\infty,-4)\cup(-4,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- Hence state the range of the original functions.
- \begin{shortsolution}
- \begin{itemize}
- \item The range of $F$ is the domain of $F^{-1}$, which is $(-\infty,2)\cup(2,\infty)$.
- \item The range of $G$ is the domain of $G^{-1}$, which is $(-\infty,-4)\cup(-4,\infty)$.
- \end{itemize}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- State the range of each inverse function.
- \begin{shortsolution}
- \begin{itemize}
- \item The range of $F^{-1}$ is the domain of $F$, which is $(-\infty,3)\cup(3,\infty)$.
- \item The range of $G^{-1}$ is the domain of $G$, which is $(-\infty,-3)\cup(-3,\infty)$.
- \end{itemize}<++>
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Composition]
- Let $r$ and $s$ be the rational functions that have formulas
- \[
- r(x)=\frac{3}{x^2},\qquad s(x)=\frac{4-x}{x+5}
- \]
- Evaluate each of the following.
- \begin{multicols}{3}
- \begin{subproblem}
- $(r\circ s)(0)$
- \begin{shortsolution}
- $\frac{75}{16}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(0)$
- \begin{shortsolution}
- $(s\circ r)(0)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(r\circ s)(2)$
- \begin{shortsolution}
- $\frac{147}{4}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(3)$
- \begin{shortsolution}
- $192$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(4)$
- \begin{shortsolution}
- $(s\circ r)(4)$ is undefined.
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $(s\circ r)(x)$
- \begin{shortsolution}
- $\dfrac{4x^2-3}{1+5x^2}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \end{problem}
- %===================================
- % Author: Hughes
- % Date: March 2012
- %===================================
- \begin{problem}[Piecewise rational functions]
- The function $R$ has formula
- \[
- R(x)=
- \begin{dcases}
- \frac{2}{x+3}, & x<-5 \\
- \frac{x-4}{x-10}, & x\geq -5
- \end{dcases}
- \]
- Evaluate each of the following.
- \begin{multicols}{4}
- \begin{subproblem}
- $R(-6)$
- \begin{shortsolution}
- $-\frac{2}{3}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(-5)$
- \begin{shortsolution}
- $\frac{3}{5}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(-3)$
- \begin{shortsolution}
- $\frac{7}{13}$
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $R(5)$
- \begin{shortsolution}
- $-\frac{1}{5}$
- \end{shortsolution}
- \end{subproblem}
- \end{multicols}
- \begin{subproblem}
- What is the domain of $R$?
- \begin{shortsolution}
- $(-\infty,10)\cup(10,\infty)$
- \end{shortsolution}
- \end{subproblem}
- \end{problem}
- \end{exercises}
-
-\section{Graphing rational functions (oblique asymptotes)}\label{rat:sec:oblique}
- \begin{subproblem}
- $y=\dfrac{x^2+1}{x-4}$
- \begin{shortsolution}
- \begin{enumerate}
- \item $\left( 0,-\frac{1}{4} \right)$
- \item Vertical asymptote: $x=4$.
- \item A graph of the function is shown below
-
- \begin{tikzpicture}[/pgf/declare function={f=(x^2+1)/(x-4);}]
- \begin{axis}[
- framed,
- xmin=-20,xmax=20,
- ymin=-30,ymax=30,
- xtick={-10,10},
- minor xtick={-15,-5,...,15},
- minor ytick={-10,10},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot,samples=50] expression[domain=-20:3.54724]{f};
- \addplot[pccplot,samples=50] expression[domain=4.80196:20]{f};
- \addplot[asymptote,domain=-30:30]({4},{x});
- \end{axis}
- \end{tikzpicture}
- \end{enumerate}
- \end{shortsolution}
- \end{subproblem}
- \begin{subproblem}
- $y=\dfrac{x^3(x+3)}{x-5}$
- \begin{shortsolution}
- \begin{enumerate}
- \item $(0,0)$, $(-3,0)$
- \item Vertical asymptote: $x=5$, horizontal asymptote: none.
- \item A graph of the function is shown below
-
- \begin{tikzpicture}[/pgf/declare function={f=x^3*(x+3)/(x-5);}]
- \begin{axis}[
- framed,
- xmin=-10,xmax=10,
- ymin=-500,ymax=2500,
- xtick={-8,-6,...,8},
- ytick={500,1000,1500,2000},
- grid=both,
- width=\solutionfigurewidth,
- ]
- \addplot[pccplot,samples=50] expression[domain=-10:4]{f};
- \addplot[pccplot] expression[domain=5.6068:9.777]{f};
- \addplot[asymptote,domain=-500:2500]({5},{x});
- \end{axis}
- \end{tikzpicture}
- \end{enumerate}
- \end{shortsolution}
- \end{subproblem}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/stylefile.tex b/Master/texmf-dist/doc/support/latexindent/success/stylefile.tex
deleted file mode 100644
index c7e3cce3730..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/stylefile.tex
+++ /dev/null
@@ -1,135 +0,0 @@
-% arara: indent: {overwrite: yes}
-% http://tex.stackexchange.com/questions/106244/using-a-lot-of-marginpars
-\ProvidesPackage{tabto}[2013/03/25 \space v 1.3 \space
-Another tabbing mechanism]\relax
-
-\newdimen\CurrentLineWidth
-\let\TabPrevPos\z@
-
-\newcommand\tabto[1]{%
- \leavevmode
- \begingroup
- \def\@tempa{*}\def\@tempb{#1}%
- \ifx\@tempa\@tempb % \tab*
- \endgroup
- \TTo@overlaptrue % ... set a flag and re-issue \tabto to get argument
- \expandafter\tabto
- \else
- \ifinner % in a \hbox, so ignore
- \else % unrestricted horizontal mode
- \null% \predisplaysize will tell the position of this box (must be box)
- \parfillskip\fill
- \everydisplay{}\everymath{}%
- \predisplaypenalty\@M \postdisplaypenalty\@M
- $$% math display so we can test \predisplaysize
- \lineskiplimit=-999pt % so we get pure \baselineskip
- \abovedisplayskip=-\baselineskip \abovedisplayshortskip=-\baselineskip
- \belowdisplayskip\z@skip \belowdisplayshortskip\z@skip
- \halign{##\cr\noalign{%
- % get the width of the line above
- %\message{>>> Line \the\inputlineno\space -- \predisplaydirection\the\predisplaydirection, \predisplaysize\the\predisplaysize, \displayindent\the\displayindent, \leftskip\the\leftskip, \linewidth\the\linewidth. }%
- \ifdim\predisplaysize=\maxdimen % mixed R and L; call the line full
- \message{Mixed R and L, so line is full. }%
- \CurrentLineWidth\linewidth
- \else
- \ifdim\predisplaysize=-\maxdimen % impossible, in vmode; call the line empty
- \message{Not in paragraph, so line is empty. }%
- \CurrentLineWidth\z@
- \else
- \ifnum\TTo@Direction<\z@
- \CurrentLineWidth\linewidth \advance\CurrentLineWidth\predisplaysize
- \else
- \CurrentLineWidth\predisplaysize
- \fi
- % Correct the 2em offset
- \advance\CurrentLineWidth -2em
- \advance\CurrentLineWidth -\displayindent
- \advance\CurrentLineWidth -\leftskip
- \fi
- \fi
- \ifdim\CurrentLineWidth<\z@ \CurrentLineWidth\z@\fi
- % Enshrine the tab-to position; #1 might reference \CurrentLineWidth
- \@tempdimb=#1\relax
- \message{*** Tab to \the\@tempdimb, previous width is \the\CurrentLineWidth. ***}%
- % Save width for possible return use
- \xdef\TabPrevPos{\the\CurrentLineWidth}%
- % Build the action to perform
- \protected@xdef\TTo@action{%
- \vrule\@width\z@\@depth\the\prevdepth
- \ifdim\CurrentLineWidth>\@tempdimb
- \ifTTo@overlap\else
- \protect\newline \protect\null
- \fi
- \fi
- \protect\nobreak
- \protect\hskip\the\@tempdimb\relax
- }%
- %\message{\string\TTo@action: \meaning \TTo@action. }%
- % get back to the baseline, regardless of its depth.
- \vskip-\prevdepth
- \prevdepth-99\p@
- \vskip\prevdepth
- }}%
- $$
- % Don't count the display as lines in the paragraph
- \count@\prevgraf \advance\count@-4 \prevgraf\count@
- \TTo@action
- %% \penalty\@m % to allow a penalized line break
- \fi
- \endgroup
- \TTo@overlapfalse
- \ignorespaces
- \fi
-}
-
-% \tab -- to the next position
-% \hskip so \tab\tab moves two positions
-% Allow a (penalized but flexible) line-break right after the tab.
-%
-\newcommand\tab{\leavevmode\hskip2sp\tabto{\NextTabStop}%
- \nobreak\hskip\z@\@plus 30\p@\penalty4000\hskip\z@\@plus-30\p@\relax}
-
-
-% Expandable macro to select the next tab position from the list
-
-\newcommand\NextTabStop{%
- \expandafter \TTo@nexttabstop \TabStopList,\maxdimen,>%
-}
-
-\def\TTo@nexttabstop #1,{%
- \ifdim#1<\CurrentLineWidth
- \expandafter\TTo@nexttabstop
- \else
- \ifdim#1<0.9999\linewidth#1\else\z@\fi
- \expandafter\strip@prefix
- \fi
-}
-\def\TTo@foundtabstop#1>{}
-
-\newcommand\TabPositions[1]{\def\TabStopList{\z@,#1}}
-
-\newcommand\NumTabs[1]{%
- \def\TabStopList{}%
- \@tempdimb\linewidth
- \divide\@tempdimb by#1\relax
- \advance\@tempdimb 1sp % counteract rounding-down by \divide
- \CurrentLineWidth\z@
- \@whiledim\CurrentLineWidth<\linewidth\do {%
- \edef\TabStopList{\TabStopList\the\CurrentLineWidth,}%
- \advance\CurrentLineWidth\@tempdimb
- }%
- \edef\TabStopList{\TabStopList\linewidth}%
-}
-
-% default setting of tab positions:
-\TabPositions{\parindent,.5\linewidth}
-
-\newif\ifTTo@overlap \TTo@overlapfalse
-
-\@ifundefined{predisplaydirection}{
- \let\TTo@Direction\predisplaysize
- \let\predisplaydirection\@undefined
-}
-{
- \let\TTo@Direction\predisplaydirection
-}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/table1.tex b/Master/texmf-dist/doc/support/latexindent/success/table1.tex
deleted file mode 100644
index 5002f8b81a6..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/table1.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass{article}
-\usepackage{multirow}
-\usepackage{booktabs}
-\begin{document}
-\begin{table}[h!]
- \centering
- \caption{mycaption}
- \label{tab:test}
- \begin{tabular}{llll}
- \toprule
- \textbf{headerone} & \textbf{headertwo} & \textbf{headerthree} & \textbf{headerfour} \\\midrule
- r1c1 & r1c2 & r1c3 & \multirow{4}{*}{norowlinesinthefirstfourrows} \\\cmidrule{1-3}
- r2c1 & r2c2 & r2c3 & \\\cmidrule{1-3}
- r3c1 & r3c2 & r3c3 & \\\cmidrule{1-3}
- r4c1 & r4c2 & r4c3 & \\\midrule
- r5c1 & r5c2 & r5c3 & \\\midrule
- r6c1 & r6c2 & r6c3 & \\\midrule
- r7c1 & r7c2 & r7c3 & \\\bottomrule
- \end{tabular}
-\end{table}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/table2.tex b/Master/texmf-dist/doc/support/latexindent/success/table2.tex
deleted file mode 100644
index cc0c12cc763..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/table2.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-% arara: indent: {overwrite: true, silent: yes}
-\documentclass{article}
-\usepackage{array} % Thanks to Heiko for catching the redundant package loading
-\newcolumntype{M}{>{$}c<{$}}
-
-\begin{document}
-
-\begin{table}%
- \centering
- \begin{tabular}{M|MMMMMMMMM}
- & A_1 & A_2 & A_3 & A_4 & A_5 & A_6 & A_7 & A_8 & A_9 \\\hline
- A_1 & 0 & & & & & & & & \\
- A_2 & & 0 & & & & & & & \\
- A_3 & & & 0 & & & & & & \\
- A_4 & & & & 0 & & & & & \\
- A_5 & & & & & 0 & & & & \\
- A_6 & & & & & & 0 & & & \\
- A_7 & & & & & & & 0 & & \\
- A_8 & & & & & & & & 0 & \\
- A_9 & & & & & & & & & 0 \\
- \end{tabular}
- \caption{Some caption}
- \label{table:mytable}
-\end{table}
-\end{document}
-
diff --git a/Master/texmf-dist/doc/support/latexindent/success/table3.tex b/Master/texmf-dist/doc/support/latexindent/success/table3.tex
deleted file mode 100644
index 19007908e01..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/table3.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-% !arara: pdflatex
-% arara: indent: {overwrite: yes, trace: on}
-\documentclass{article}
-\usepackage{multirow}
-
-\begin{document}
-\begin{figure*}
- \centering
- \begin{tabular}{|c|c|c c c c|c|}
- \hline
- \multicolumn{2}{|c|}{\multirow{2}{*}{$V_{\rm rot}/{\sigma}$}}&\multicolumn{4}{c|}{W1}\\
- \cline{3-6}
- \multicolumn{2}{|c|}{}&3&6&9&12\\
- \hline
- \multirow{6}{*}{W2} & \multirow{3}{*}{3} & $0.090475\pm 0.011115$ & \multirow{3}{*}{21} & \multirow{3}{*}{6} & \multirow{3}{*}{3} \\
- & & $0.14861\pm 0.03562$ & & & \\
- & & $0.1861 \pm 0.01728$ & & & \\
- & 6 & 8 & 14 & 5 & 2 \\
- & 9 & 8 & 14 & 5 & 2 \\
- & 12 & 8 & 14 & 5 & 2 \\
- \hline
- \end{tabular}
- \caption{Multirow in multirow}
- \label{ta.Multirow}
-\end{figure*}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/table4.tex b/Master/texmf-dist/doc/support/latexindent/success/table4.tex
deleted file mode 100644
index 6f6e71323ce..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/table4.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-% arara: indent: {overwrite: true, silent: on, localSettings: on}
-\documentclass{article}
-\usepackage{siunitx}
-
-\begin{document}
-\begin{tabular}{%
- l
- S[table-format=3.0]
- S[table-format=3.2]
- S[table-format=2.2]
- S[table-format=3.2]
- S[table-format=-2.2]
- S[table-format=3.2]
- }
- Latex & 360 & 101.77 & 10.71 & 101.86 & 64.60 & 127.20 \\
- Manufacturing & 360 & -7.33 & 12.59 & -7.24 & -49.00 & 22.00 \\
- Cons & 360 & -17.19 & 23.4 & -17.22 & -79.00 & 43.00 \\
- Apple and Orange & 360 & 3.38 & 13.84 & 3.60 & -47.00 & 29.00 \\
- Services and Harry & 104 & -4.96 & 20.8 & -4.81 & -57.00 & 30.00 \\
- Manchester & 360 & -9.29 & 8.64 & -9.26 & -35.00 & 8.00 \\
-\end{tabular}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/table5.tex b/Master/texmf-dist/doc/support/latexindent/success/table5.tex
deleted file mode 100644
index e2750f40d78..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/table5.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-\documentclass{article}
-
-\begin{document}
-
-\begin{tabular}{M|MMMMMMMMM}
- & A_1 & A_2 & A_3 & A_4 & A_5 & A_6 & A_7 & A_8 & A_9 \\\hline
- A_1 & 0 & & & & & & & & \\
- A_2 & & 0 & & & & & & & \\
- A_3 & & & 0 & & & & & & \\
- A_4 & & & & 0 & & & & & \\
- A_5 & & & & & 0 & & & & \\
- A_6 & & & & & & 0 & & & \\
- A_7 & & & & & & & 0 & & \\
- A_8 & & & & & & & & 0 & \\
- A_9 & & & & & & & & & 0 \\
-\end{tabular}
-\begin{tabularx}{M|MMMMMMMMM}
- & A_1 & A_2 & A_3 & A_4 & A_5 & A_6 & A_7 & A_8 & A_9 \\\hline
- A_1 & 0 & & & & & & & & \\
- A_2 & & 0 & & & & & & & \\
- A_3 & & & 0 & & & & & & \\
- A_4 & & & & 0 & & & & & \\
- A_5 & & & & & 0 & & & & \\
- A_6 & & & & & & 0 & & & \\
- A_7 & & & & & & & 0 & & \\
- A_8 & & & & & & & & 0 & \\
- A_9 & & & & & & & & & 0 \\
-\end{tabularx}
-\begin{align*}
- CCI_n & = \frac{p_n-SMA(p_n)}{0.015 \cdot \sigma(p_n)}\\
- \textrm{wobei} & n = \textrm{Perioden, i.\,d.\,R. 20};\p_n = \textrm{Typischer Preis/Kurs};\ SMA(p_n) = \textrm{SMA der typischen Preise};\\
- & \sigma(p_n) = \textrm{Standardabweichung}\\
-\end{align*}
-\end{document}
-
diff --git a/Master/texmf-dist/doc/support/latexindent/success/testHeadings-simple.tex b/Master/texmf-dist/doc/support/latexindent/success/testHeadings-simple.tex
deleted file mode 100644
index 565157dcaca..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/testHeadings-simple.tex
+++ /dev/null
@@ -1,56 +0,0 @@
-% arara: indent: {onlyDefault: no, overwrite: true, trace: on, silent: yes, localSettings: true}
-\part{part}
- part text
- part text
- \chapter{chapter long title}
- chapter text
- chapter text
- \section[for the toc]{section}
- section text
- section text
- \section[for the toc]{section}
- section text
- section text
- \subsection[for the toc]{subsection}
- subsection text
- subsection text
- \subsection[for the toc]{subsection}
- subsection text
- subsection text
- \section[for the toc]{section}
- section text
- section text
- \chapter{chapter}
- chapter text
- chapter text
-\part{part}
- part text
- part text
- \chapter[toc]{chapter title}
- chapter text
- chapter text
- \section[for the toc]{section}
- section text
- section text
- \subsubsection[for the toc]{subsubsection}
- subsubsection text
- subsubsection text
- \paragraph{paragraph}
- paragraph text
- paragraph text
- \subparagraph{subparagraph}
- subparagraph text
- subparagraph text
- \section[for the toc]{section}
- section text
- section text
- \subsubsection[for the toc]{subsubsection}
- subsubsection text
- subsubsection text
- \paragraph{paragraph}
- paragraph text
- paragraph text
- \subparagraph{subparagraph}
- subparagraph text
- subparagraph text
- \chapter[somethingelse]{goes here}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/testHeadings.tex b/Master/texmf-dist/doc/support/latexindent/success/testHeadings.tex
deleted file mode 100644
index 2a8fa072e4e..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/testHeadings.tex
+++ /dev/null
@@ -1,59 +0,0 @@
-% arara: indent: {onlyDefault: no, overwrite: true, trace: on, silent: yes, localSettings: true}
-\part{part}
- part text
- part text
- \chapter{chapter long title}
- chapter text
- chapter text
- \[
- f(x)=x^2
- \]
- \section[for the toc]{section}
- section text
- section text
- \section[for the toc]{section}
- section text
- section text
- \subsection[for the toc]{subsection}
- subsection text
- subsection text
- \subsection[for the toc]{subsection}
- subsection text
- subsection text
- \section[for the toc]{section}
- section text
- section text
- \chapter{chapter}
- chapter text
- chapter text
-\part{part}
- part text
- part text
- \chapter[toc]{chapter title}
- chapter text
- chapter text
- \section[for the toc]{section}
- section text
- section text
- \subsubsection[for the toc]{subsubsection}
- subsubsection text
- subsubsection text
- \paragraph{paragraph}
- paragraph text
- paragraph text
- \subparagraph{subparagraph}
- subparagraph text
- subparagraph text
- \section[for the toc]{section}
- section text
- section text
- \subsubsection[for the toc]{subsubsection}
- subsubsection text
- subsubsection text
- \paragraph{paragraph}
- paragraph text
- paragraph text
- \subparagraph{subparagraph}
- subparagraph text
- subparagraph text
- \chapter[somethingelse]{goes here}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/testHeadings1.tex b/Master/texmf-dist/doc/support/latexindent/success/testHeadings1.tex
deleted file mode 100644
index 164fcbe1057..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/testHeadings1.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-% arara: indent: {overwrite: yes, localSettings: yes, trace: on}
-\documentclass[a4paper]{article}
-\usepackage{filecontents}
-\begin{filecontents}
- \begin{document}
- hello world
- \end{document}
-\end{filecontents}
-\begin{document}
-\section{}
-\subsection{}
- \subsubsection{}
- some text goes here
- some text goes here
- some text goes here
- \begin{verbatim}
- \documentclass[<+options+>]{<+class+>}
-
- \begin{document}
- <++>
- \end{document}
- \end{document}
- more text here
- \end{verbatim}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/testItems.tex b/Master/texmf-dist/doc/support/latexindent/success/testItems.tex
deleted file mode 100644
index fba97784548..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/testItems.tex
+++ /dev/null
@@ -1,94 +0,0 @@
-% arara: indent: {overwrite: yes, silent: off, trace: yes, localSettings: yes}
-
-\begin{itemize}
- \item some text here
- some more text here
- some more text here
- \item another item more text
- more text more text more text
- more text more text more text
- \item
- more text more text more text
- more text more text more text
-\end{itemize}
-
-regular text
-regular text
-regular text
-\begin{itemize}
- \item some other stuff
- \item[1] some other stuff
- \myitem another item
- \myitem[2] another item
- \item some other stuff
- \item some other stuff
- \item some other stuff
- \item some text some text
- some text some text
- some text some text
- % here's a comment
- \item some text some text
- some text some text
- some text some text
- \[
- x^2
- \]
- \item some text some text
- some text some text
- some text some text
- \begin{list}
- \item some other stuff
- some other stuff
- some other stuff
- % here's a comment
- \end{list}
- \item some text some text
- some text some text
- some text some text
- \begin{myenv}
- some other stuff
- some other stuff
- some other stuff
- \end{myenv}
- \begin{itemize}
- \item some text some text
- some text some text
- some text some text
- % here's a comment
- \item some text some text
- some text some text
- some text some text
- \[
- x^2
- \]
- \item some text some text
- some text some text
- some text some text
- \begin{list}
- \item some other stuff
- some other stuff
- some other stuff
- % here's a comment
- \end{list}
-
- \item some text some text
- some text some text
- some text some text
- \begin{myenv}
- some other stuff
- some other stuff
- some other stuff
- \end{myenv}
- \item just one line
- some more text
- \item something here
- \end{itemize}
- \item this one belongs here
- more text more text more text
-\end{itemize}
-
-\begin{myenv}
- some other stuff
- some other stuff
- some other stuff
-\end{myenv}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/testcls.cls b/Master/texmf-dist/doc/support/latexindent/success/testcls.cls
deleted file mode 100644
index d4c23660c5a..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/testcls.cls
+++ /dev/null
@@ -1,375 +0,0 @@
-% arara: indent: {overwrite: yes}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{rpisudiss}[2014/07/06 Ryan Pavlik's ISU Thesis]
-
-\newcommand{\@isu@classname}{rpisudiss}
-\RequirePackage{setspace}
-
-% option doublespacing: Double-space where we would have 1.5 spaced.
-\newcommand\isu@spacing{\onehalfspacing}
-\newcommand\isu@space{onehalfspace}
-\DeclareOption{doublespacing}{%
- \renewcommand\isu@spacing{\doublespacing}
- \renewcommand\isu@space{doublespace}
-}
-
-% option capstoc: Capitalize chapters in the table of contents
-% Technically required if you go by the text of the grad college site,
-% but rule inconsistently applied and results painful to read.
-\newif\if@isu@capstoc \@isu@capstocfalse
-\DeclareOption{capstoc}{\@isu@capstoctrue}
-
-% option capschap: Capitalize chapters everywhere else
-% Technically required if you go by the text of the grad college site,
-% but rule inconsistently applied and results painful to read.
-\newif\if@isu@capschap \@isu@capschapfalse
-\DeclareOption{capschap}{\@isu@capschaptrue}
-
-% option print: Optimize for print rather than on-screen (hide links, etc.)
-% Apparently doesn't work right now. Sad.
-\newif\if@isu@print \@isu@printfalse
-\DeclareOption{print}{\@isu@printtrue}
-
-% option tocnumbersections: Number sections in the ToC.
-\newif\if@isu@tocnumbersections@ \@isu@tocnumbersections@false
-\DeclareOption{tocnumbersections}{\@isu@tocnumbersections@true}
-
-% option tocnumbersubsections: Number subsections in the ToC. Implies tocnumbersections.
-\newif\if@isu@tocnumbersubsections@ \@isu@tocnumbersubsections@false
-\DeclareOption{tocnumbersubsections}{ \@isu@tocnumbersubsections@true\@isu@tocnumbersections@true}
-
-% option ignoremissingmainmatter: Don't error if we've seen a titlepage but no \mainmatter by the end of the document.
-\newif\if@isu@errormissingmainmatter@ \@isu@errormissingmainmatter@true
-\DeclareOption{ignoremissingmainmatter}{\@isu@errormissingmainmatter@false}
-
-% option draftcls: adds "DRAFT" and a date/time stamp on the footer.
-\newif\if@isu@draftcls@ \@isu@draftcls@false
-\DeclareOption{draftcls}{\@isu@draftcls@true}
-
-% option draft: draftcls plus whatever anyone else thinks about draft.
-\DeclareOption{draft}{
- \@isu@draftcls@true
- \PassOptionsToClass{draft}{report}
-}
-
-% Forward everything not recognized
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
-
-% Process options
-\ProcessOptions\relax
-
-% Based on report
-\LoadClass[12pt]{report}
-
-% had to choose to put this here for tocloft
-\RequirePackage{subfig}
-
-% Put lot, lof, and bibliography (but not the contents itself) in the ToC
-\RequirePackage[nottoc]{tocbibind}
-
-% Basic hyperref - note that backreferences are incompatible with bibtopic (for per-chapter bibliographies)
-\RequirePackage[pdftex,pdfusetitle,hypertexnames=false,linktocpage=true]{hyperref}
-\hypersetup{bookmarksnumbered=true,bookmarksopen=true,pdfpagemode=UseOutlines,pdfview=FitB}
-
-\if@isu@print
-% Hide links for print
-% Apparently doesn't work right now. Sad.
-\hypersetup{hidelinks}
-\else
-% Nice blue links.
-\hypersetup{colorlinks=true,linkcolor=blue,anchorcolor=blue,citecolor=blue,filecolor=blue,urlcolor=blue}
-\fi
-
-% Indent first paragraph after sectioning things.
-\RequirePackage{indentfirst}
-
-% Setup page layout
-\RequirePackage{geometry}
-\geometry{left=1in, top=1in, headheight=0.25in, headsep=0.5in, right=1in, bottom=1in, includehead=false}
-
-% Handle draftcls option placing timestamp in footer and watermarking first page.
-\if@isu@draftcls@
- \RequirePackage[firstpage]{draftwatermark}
- \RequirePackage{datetime}
- \newcommand{\isu@draftfooter}{DRAFT --- rendered \today\ at \currenttime}
-\else
- \newcommand{\isu@draftfooter}{}
-\fi
-
-% Setup headers/footers - override the plain page style.
-\RequirePackage{fancyhdr}
-\fancypagestyle{plain}{%
- \fancyhf{} % clear all header and footer fields
- \fancyhead[C]{\thepage} % Always put the page in the center header
- \fancyfoot[C]{\isu@draftfooter} % In draft mode, put stuff in the center footer.
- \renewcommand{\headrulewidth}{0pt}
- \renewcommand{\footrulewidth}{0pt}}
-
-\AtBeginDocument{\pagestyle{plain}}
-
-% Set up a bool for mainmatter or not.
-\newif\if@mainmatter \@mainmatterfalse
-
-% Title page:
-% - empty style (no numbering shown)
-% - starts the preface/roman numerals
-% - gets a PDF bookmark, just because we can.
-\renewcommand{\titlepage}{
- \thispagestyle{empty}
- \pagenumbering{roman}
- \pdfbookmark[0]{\@title}{toc}
- % backup and set secnumdepth
- \newcounter{isu@secnumdepth}
- \setcounter{isu@secnumdepth}{\value{secnumdepth}}
- \setcounter{secnumdepth}{-1}
- \@mainmatterfalse
-}
-\renewcommand{\endtitlepage}{\newpage\pagestyle{plain}}
-
-%%%
-% Set up sectioning
-\RequirePackage{titlesec}
-% \titleformat{command}[shape]{format}{label}{sep}{before}[after]
-
-% Chapter titles:
-% - Caps (optional)
-% - large
-% - bold
-% - center
-\titleformat{\chapter}[block]
-{\normalfont\large\bfseries\centering}
-{\if@mainmatter%
- \if@isu@capschap\MakeUppercase{\chaptertitlename}%
- \else\chaptertitlename\fi
- \thechapter.\quad\fi}
-{0pt}
-{\if@isu@capschap\MakeUppercase\fi}{}
-
-% Section:
-% - bold
-% - center
-\titleformat{\section}[block]
-{\normalfont\normalsize\bfseries\centering}
-{\thesection.}{1em}{}{}
-
-% Subsection:
-% - bold
-% - left-justified
-\titleformat{\subsection}[block]
-{\normalfont\normalsize\bfseries}
-{\thesubsection.}{1em}{}{}
-
-% Subsubsection:
-% - bold
-% - left-justified with indent
-\titleformat{\subsubsection}[block]
-{\normalfont\normalsize\bfseries}
-{\quad\thesubsubsection.}{1em}{}{}
-
-% Apply default spacing
-\isu@spacing
-
-
-% Needed for toc/lof/lot spacing and headfoot tweaking
-\RequirePackage{xpatch}
-
-%%%
-% ToC:
-
-% Rename the ToC
-\RequirePackage[subfigure,titles]{tocloft}
-\renewcommand{\contentsname}{Table of Contents}
-
-% - Remove parskips from toc (and lof/lot)
-\setlength{\cftparskip}{0pt}
-
-% - Single space
-% - Page break after
-% - TODO: couldn't get pdfbookmark to point to this page instead of the
-% first page so it was removed.
-%\begin{noindent}
-\xpretocmd{\tableofcontents}{%
- \begin{singlespace}}{}{}
-\xapptocmd{\tableofcontents}{%
-\end{singlespace}%
-\pagestyle{plain}%
-\clearpage}{}{}
-%\end{noindent}
-
-% - Add dot leader for chapter levels
-\renewcommand\cftchapdotsep{\cftdotsep}
-
-% - Prefix "Chapter " to chapter number
-% - Adjust indentation of levels
-% - Capitalize title entries, if requested
-\if@isu@capstoc
- \renewcommand\cftchappresnum{\MakeUppercase{\chaptertitlename} }
- \cftsetindents{chapter}{0em}{8em}
- \cftsetindents{section}{2em}{0em}
- \cftsetindents{subsection}{3em}{0em}
- \renewcommand{\cftchapfont}{\MakeUppercase}
-\else
- \renewcommand\cftchappresnum{\chaptertitlename\ }
- \cftsetindents{chapter}{0em}{6em}
- \cftsetindents{section}{1em}{0em}
- \cftsetindents{subsection}{2em}{0em}
-\fi
-
-% - Remove section/subsection numbers from ToC by capturing
-% see idea at http://tex.stackexchange.com/questions/71123/remove-section-number-toc-entries-with-tocloft
-\if@isu@tocnumbersections@\else
- \renewcommand{\cftsecpresnum}{\begin{lrbox}{\@tempboxa}}
- \renewcommand{\cftsecaftersnum}{\end{lrbox}}
-\fi
-
-\if@isu@tocnumbersubsections@\else
-\renewcommand{\cftsubsecpresnum}{\begin{lrbox}{\@tempboxa}}
-\renewcommand{\cftsubsecaftersnum}{\end{lrbox}}
-\fi
-
-%%%
-% List of Figures:
-% - Single space
-% - Page break after
-%\begin{noindent}
-\xpretocmd{\listoffigures}{%
-\begin{singlespace}}{}{}
-\xapptocmd{\listoffigures}{%
-\end{singlespace}\clearpage}{}{}
-%\end{noindent}
-
-% - Prepend the word "Figure" to the number
-\renewcommand\cftfigpresnum{Figure }
-\cftsetindents{figure}{0em}{6em}
-
-%%%
-% List of Tables:
-% - Single space
-% - Page break after
-%\begin{noindent}
-\xpretocmd{\listoftables}{%
- \begin{singlespace}}{}{}
-\xapptocmd{\listoftables}{%
- \end{singlespace}\clearpage}{}{}
-%\end{noindent}
-
-% - Prepend the word "Table" to the number
-\renewcommand\cfttabpresnum{Table }
-\cftsetindents{table}{0em}{6em}
-
-%%%
-% Document division commands
-
-% Command to indicate when we're done
-% with preface content - must be called!
-% (If we're actually typesetting a full thesis...)
-\newcommand{\mainmatter}{%
- \clearpage
- \pagenumbering{arabic}
- \pagestyle{plain}
- \@mainmattertrue
- \newcommand{\@isu@gotmainmatter@}{}
- \setcounter{chapter}{0}
- % restore secnumdepth
- \setcounter{secnumdepth}{\value{isu@secnumdepth}}
-}
-
-% Command to indicate we're done with main content
-\newcommand{\backmatter}{
- \setcounter{isu@secnumdepth}{\value{secnumdepth}}
- \setcounter{secnumdepth}{-1}
- \@mainmatterfalse
-}
-
-\RequirePackage{etoolbox}
-% Verify that we actually got some main matter
-\AfterEndDocument{
- \if@isu@errormissingmainmatter@
- \ifdefined\@isu@gottitle
- \ClassInfo{\@isu@classname}{Full dissertation mode}
- \unless\ifdefined\@isu@gotmainmatter@
- \ClassError{\@isu@classname}{Missing \protect\mainmatter\space before your first real chapter!}{Missing mainmatter}
- % \ClassError{\@isu@classname}{%
- % \protect\mainmatter\space not called in your document expected before your first real chapter}{%
- % You need to put \protect\mainmatter\space before your first real numbered chapter, typically your introduction.}
- \fi
- \fi
- \fi
-}
-
-%%%
-% Title Page
-
-% Temporary: hardcode these values in.
-\newcommand\isu@degree{Doctor of Philosophy}
-\newcommand\isu@gradyear{2014}
-\newcommand\isu@submissiontype{dissertation}
-\newcommand\isu@majorline{Co-majors: Human-Computer Interaction; Computer Science}
-\newcommand\isu@committee{%
- Judy M. Vance, Co-major Professor\\%
- Leslie Miller, Co-major Professor\\%
- Debra Satterfield \\ Jonathan Kelly \\ David Weiss \\ Horea Ilies}
-\newcommand\isu@copyrightnotice{\\ % Unclear what the spacing between notice and the text above should be.
- Copyright \copyright\ \@author, \isu@gradyear.
-All rights reserved.}
-
-% Spacing tools
-% - used for what the thesis office calls "two blank lines"
-\newcommand{\@isu@twoblanklines}{20pt}
-\newcommand{\@isu@maketwoblanklines}{\vspace{\@isu@twoblanklines}}
-
-% The actual title page layout.
-% Note that portions that appear double-spaced in the sample/annotated PDF
-% are given the same spacing as the body of the document (1.5 or 2)
-\renewcommand{\maketitle}{
- \newcommand{\@isu@gottitle}{} % Assume that \maketitle implies typesetting a full thesis, not just a chapter.
- \ClassInfo{\@isu@classname}{Generating title page -- assuming we are typesetting a full dissertation.}
-
- \begin{titlepage}
- \setlength{\parindent}{0pt} % Don't you dare try to indent!
- \vbox to \textheight{ % Full-page box to contain everything and stretch everything.
- \begin{center} % Center this whole page
- \vspace*{12pt} % Designated blank line at the top of the page.
-
- \begin{singlespace} % Single-space this section, we manually add spacing.
- \textbf{\@title}\\ % Title in bold
- \@isu@maketwoblanklines % "two blank lines"
- by\\ % the word 'by', not in bold
- \@isu@maketwoblanklines % "two blank lines"
- \textbf{\@author} % Author in bold
- \end{singlespace}
-
- \vfill{} % let LaTeX decide what "4-6 blank lines" should be.
-
- \begin{\isu@space} % Normal document spacing here.
- A \isu@submissiontype\ submitted to the graduate faculty\\
- in partial fulfillment of the requirements of the degree of\\
- \MakeUppercase{\isu@degree} % Doctor of Philosophy, etc. We enforce caps so they don't have to.
- \end{\isu@space}
-
- \@isu@maketwoblanklines % "two blank lines"
-
- \begin{singlespace} % Committee is single-spaced, looks like really long majors would be too.
- \isu@majorline\\ % "Major: MAJ (CONC)" or "Co-majors: MAJ; MAJ;
- \medskip % Unspecified space here, looks like just "one blank line" on sample
- Program of Study Committee:\\
- \isu@committee % Committee, user-delimited with \\ and user-annoted with ", Major Professor" or "Co-major Professor"
- \end{singlespace}
-
- \vfill{} % let LaTeX decide what "7-8 blank lines" should be.
- \@isu@maketwoblanklines % Suggest it's a little longer than the other vfill.
-
- \begin{\isu@space} % Normal document spacing here
- Iowa State University\\
- Ames, Iowa\\
- \isu@gradyear % Newline after here, if needed, is in the copyright notice macro.
- \isu@copyrightnotice % Copyright line optional if copyright not formally filed.
- \end{\isu@space}
-
- \end{center}
- }
- \end{titlepage}
-}
-
-\endinput
-
diff --git a/Master/texmf-dist/doc/support/latexindent/success/theorem.tex b/Master/texmf-dist/doc/support/latexindent/success/theorem.tex
deleted file mode 100644
index 6541ed31ceb..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/theorem.tex
+++ /dev/null
@@ -1,47 +0,0 @@
-% arara: indent: {overwrite: on}
-\documentclass[12pt,twoside]{report}
-\usepackage[margin=2cm]{geometry}
-\usepackage{amsmath,amsthm,amssymb}
-\usepackage{thmtools}
-\usepackage{tikz}
-\usepackage[framemethod=TikZ]{mdframed}
-
-\declaretheoremstyle
-[
- spaceabove=0pt, spacebelow=0pt, headfont=\normalfont\bfseries,
- notefont=\mdseries, notebraces={(}{)}, headpunct={\newline}, headindent={},
- postheadspace={ }, postheadspace=4pt, bodyfont=\normalfont, qed=$\blacktriangle$,
- preheadhook={\begin{mdframed}[style=myframedstyle]},
- postfoothook=\end{mdframed},
-]{mystyle}
-
-\declaretheorem[style=mystyle,numberwithin=chapter,title=Exemplo]{example}
-\mdfdefinestyle{myframedstyle}{%
- outermargin = 1.3cm , %
- leftmargin = 0pt , rightmargin = 0pt , %
- innerleftmargin = 5pt , innerrightmargin = 5pt , %
- innertopmargin = 5pt, innerbottommargin = 5pt , %
- backgroundcolor = blue!10 , %
- align = center , % align the environment itself (left, center, rigth)
- nobreak = true, % prevent a frame from splitting
- hidealllines = true , %
- topline = true , bottomline = true , %
- splittopskip = \topskip , splitbottomskip = 0pt , %
- skipabove = 0.5\baselineskip , skipbelow = 0.3\baselineskip}
-
-\begin{document}
-\section{Introduction}
- Lorem ipsum sed nulla id risus adipiscing vulputate.
-
- \begin{example}
- Um consumidor financiou a compra de um veículo pagando 48 parcelas de \$800,00 mensais e a taxa de juros cobrada pela concessionária foi de 1,2\% a.m.. Qual era o valor à vista do automóvel adquirido?
- \newline
- \textbf{Solução:}
- \newline
- $PV = 800 \times \left[ \dfrac{1,012^{48}-1}{1,012^{48}\times 0,012} \right] \newline
- PV = 800 \times \left[ \dfrac{0,772820}{0,021274} \right] \newline
- PV = \$29.061,79$
- \end{example}
-
- Lorem ipsum sed nulla id risus adipiscing vulputate.
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/tikz1.tex b/Master/texmf-dist/doc/support/latexindent/success/tikz1.tex
deleted file mode 100644
index ccef3d047f2..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/tikz1.tex
+++ /dev/null
@@ -1,88 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass[png,border=10pt,tikz]{standalone}
-\usepackage{xstring}
-\usepackage{tikz}
-\usetikzlibrary{calc}
-
-\pgfkeys{/tikz/.cd,
- vertical factor/.initial=0.5,
- vertical factor/.get=\vertfactor,
- vertical factor/.store in=\vertfactor,
- start coordinate/.initial={0,\vertfactor},
- start coordinate/.get=\startcoord,
- start coordinate/.store in=\startcoord,
- sample color/.initial=black,
- sample color/.get=\samplecol,
- sample color/.store in=\samplecol,
- sample size/.initial=1pt,
- sample size/.get=\samplesize,
- sample size/.store in=\samplesize,
- sample line width/.initial=very thick,
- sample line width/.get=\samplelinewidth,
- sample line width/.store in=\samplelinewidth,
-}
-
-
-\newcommand{\samplepath}[1]{%
- \coordinate (start) at (\startcoord) ;
- \foreach \samples[count=\xi from 1] in {#1}{%
- \StrCut{\samples}{|}{\vertdir}{\hordir}
- \ifnum\xi=1
- \draw[\samplelinewidth,\samplecol](start)
- --++(\hordir,0) coordinate (start);
- \else
- \IfStrEq{\vertdir}{+}{%true
- \draw[\samplelinewidth,\samplecol]($(start)+(0,\vertfactor)$)
- --++(\hordir,0)coordinate(start);
- }{%false
- \relax
- }
- \IfStrEq{\vertdir}{-}{%true
- \draw[\samplelinewidth,\samplecol]($(start)+(0,-\vertfactor)$)
- --++(\hordir,0)coordinate(start);
- }{%false
- \relax
- }
- \fi
- }
-}
-
-\tikzset{sample/.style={
- circle,
- inner sep=\samplesize,
- fill=\samplecol,
- }
-}
-
-\newcommand{\discretesamplepath}[1]{%
- \coordinate (start) at (\startcoord) ;
- \foreach \samples[count=\xi from 1] in {#1}{%
- \StrCut{\samples}{|}{\vertdir}{\hordir}
- \ifnum\xi=1
- \path(start)node[sample]{}
- --++(\hordir,0) coordinate (start);
- \else
- \IfStrEq{\vertdir}{+}{%true
- \path($(start)+(0,\vertfactor)$)node[sample]{}
- --++(\hordir,0)coordinate(start);
- }{%false
- \relax
- }
- \IfStrEq{\vertdir}{-}{%true
- \path($(start)+(0,-\vertfactor)$)node[sample]{}
- --++(\hordir,0)coordinate(start);
- }{%false
- \relax
- }
- \fi
- }
-}
-
-\begin{document}
-\begin{tikzpicture}
- % axis
- \draw[-stealth] (0,-1)--(0,4) node[left]{$X(t)$};
- \draw[-stealth] (-1,0)--(5,0) node[below]{$t$};
- \samplepath{+|0.5,+|0.25,-|1.5,+|1,+|0.5,+|0.75}
-\end{tikzpicture}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/tikz2.tex b/Master/texmf-dist/doc/support/latexindent/success/tikz2.tex
deleted file mode 100644
index 5ba03622079..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/tikz2.tex
+++ /dev/null
@@ -1,61 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-% http://tex.stackexchange.com/questions/104528/tikz-shade-also-the-border-of-a-node
-\documentclass[tikz,border=10pt,png]{standalone}
-\usepackage{tikz}
-\usetikzlibrary{calc}
-\begin{document}
-\tikzset{
- shrink inner sep/.code={
- \pgfkeysgetvalue{/pgf/inner xsep}{\currentinnerxsep}
- \pgfkeysgetvalue{/pgf/inner ysep}{\currentinnerysep}
- \pgfkeyssetvalue{/pgf/inner xsep}{\currentinnerxsep - 0.5\pgflinewidth}
- \pgfkeyssetvalue{/pgf/inner ysep}{\currentinnerysep - 0.5\pgflinewidth}
- }
-}
-
-\tikzset{horizontal shaded border/.style args={#1 and #2}{
- append after command={
- \pgfextra{%
- \begin{pgfinterruptpath}
- \path[rounded corners,left color=#1,right color=#2]
- ($(\tikzlastnode.south west)+(-\pgflinewidth,-\pgflinewidth)$)
- rectangle
- ($(\tikzlastnode.north east)+(\pgflinewidth,\pgflinewidth)$);
- \end{pgfinterruptpath}
- }
- }
- },
- vertical shaded border/.style args={#1 and #2}{
- append after command={
- \pgfextra{%
- \begin{pgfinterruptpath}
- \path[rounded corners,top color=#1,bottom color=#2]
- ($(\tikzlastnode.south west)+(-\pgflinewidth,-\pgflinewidth)$)
- rectangle
- ($(\tikzlastnode.north east)+(\pgflinewidth,\pgflinewidth)$);
- \end{pgfinterruptpath}
- }
- }
- }
-}
-\begin{tikzpicture}
- \draw (0,0) node[rectangle,
- rounded corners,
- thick,
- outer sep=0pt,
- shrink inner sep,
- left color=red!50!white,
- right color=green!50!white,
- horizontal shaded border=red and green
- ](A){abcabc abc};
- \draw (2.5,0) node[rectangle,
- rounded corners,
- thick,
- outer sep=0pt,
- shrink inner sep,
- top color=cyan!50,
- bottom color=orange!50,
- vertical shaded border=blue and orange
- ](A){abcabc abc};
-\end{tikzpicture}
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/tikz3.tex b/Master/texmf-dist/doc/support/latexindent/success/tikz3.tex
deleted file mode 100644
index f50646ac5c8..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/tikz3.tex
+++ /dev/null
@@ -1,53 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass[11pt]{article}
-\usepackage{tikz}
-\usetikzlibrary{trees}
-\usetikzlibrary{decorations.pathmorphing}
-\usetikzlibrary{decorations.markings}
-
-\begin{document}
-
-\tikzset{
- photon/.style={decorate, decoration={snake}, draw=red},
- particle/.style={draw=blue, postaction={decorate},
- decoration={markings,mark=at position .5 with {\arrow[draw=blue]{>}}}},
- antiparticle/.style={draw=blue, postaction={decorate},
- decoration={markings,mark=at position .5 with {\arrow[draw=blue]{<}}}},
- gluon/.style={decorate, draw=black,
- decoration={coil,amplitude=4pt, segment length=5pt}}
-}
-
-\begin{tikzpicture}[
- thick,
- % Set the overall layout of the tree
- level/.style={level distance=1.5cm},
- level 2/.style={sibling distance=3.5cm},
- ]
- \coordinate
- child[grow=down]{
- edge from parent [antiparticle]
- child {
- node{$E$}
- edge from parent [particle]
- }
- child {
- node{$D$}
- edge from parent [gluon]
- }
- node [above=3pt] {$C$}
- }
- % I have to insert a dummy child to get the tree to grow
- % correctly to the right.
- child[grow=right, level distance=0pt] {
- child {
- node{$A$}
- edge from parent [gluon]
- }
- child {
- node{$B$}
- edge from parent [particle]
- }
- };
-\end{tikzpicture}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/tikz4.tex b/Master/texmf-dist/doc/support/latexindent/success/tikz4.tex
deleted file mode 100644
index 97830271b3f..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/tikz4.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass{article}
-
-% in the preamble
-% nothing
-% should happend
-\foreach \x in {0,1,2,3,4}{
- \foreach \y in {0,1,2,3,4}{
- \foreach \z in {0,1,2,3,4}{
- \fill[black] (\x, \y, \z) circle (0.1);
- }
- }
-};
-\usepackage{tikz}
-
-\begin{document}
-\begin{tikzpicture}
- \foreach \x in {0,1,2,3,4}{
- \foreach \y in {0,1,2,3,4}{
- \foreach \z in {0,1,2,3,4}{
- \fill[black] (\x, \y, \z) circle (0.1);
- }
- }
- };
-\end{tikzpicture}
-\end{document}
-
diff --git a/Master/texmf-dist/doc/support/latexindent/success/tikz5.tex b/Master/texmf-dist/doc/support/latexindent/success/tikz5.tex
deleted file mode 100644
index b24b429e318..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/tikz5.tex
+++ /dev/null
@@ -1,34 +0,0 @@
-% arara: indent: {overwrite: yes}
-\documentclass[professionalfont, fleqn]{beamer}
-\mode<presentation>
-\usetheme{Warsaw}
-\usetheme{CambridgeUS}
-
-\usepackage{pgfplots}
-\usetikzlibrary{arrows,shapes,positioning}
-\graphicspath{{graphics/}}
-
-\begin{document}
-\frame
-{
- \frametitle{Frame Title}
- \begin{tikzpicture}
- \begin{axis}
- [
- axis x line = bottom,
- axis y line = left,
- width = 1.01\textwidth,
- height = .63\textwidth, % Adjusted
- ymax = 93,
- ymin = 27,
- ytick = {30,40,...,90},
- xmax = 1993,
- xmin = 1967,
- xtick = {1970, 1980, ..., 1990},
- ]
- \node[anchor=west] at (axis cs:1968.5,89.5){%
- \textbullet\ Comment here about data
- };
- \end{axis}
- \end{tikzpicture}
-}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/torusPGF.tex b/Master/texmf-dist/doc/support/latexindent/success/torusPGF.tex
deleted file mode 100644
index 0edf21a5e29..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/torusPGF.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-% arara: indent: {overwrite: yes}
-\documentclass{article}
-\usepackage{pgfplots}
-
-\begin{document}
-
-\begin{tikzpicture}
- \begin{axis}
- \addplot3[surf,
- colormap/cool,
- samples=20,
- domain=0:2*pi,y domain=0:2*pi,
- z buffer=sort]
- ({(2+cos(deg(x)))*cos(deg(y+pi/2))},
- {(2+cos(deg(x)))*sin(deg(y+pi/2))},
- {sin(deg(x))});
- \end{axis}
-\end{tikzpicture}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/torusPSTricks.tex b/Master/texmf-dist/doc/support/latexindent/success/torusPSTricks.tex
deleted file mode 100644
index cd8cc0db4ad..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/torusPSTricks.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-% arara: indent: {overwrite: on, silent: yes}
-\documentclass{article}
-\usepackage{pst-solides3d}
-\begin{document}
-
-\begin{pspicture}(-3,-4)(3,6)
- \psset{viewpoint=20 40 40 rtp2xyz,Decran=30,lightsrc=20 10 10}
- \defFunction[algebraic]{torus}(u,v)
- {(2+cos(u))*cos(v+\Pi)}
- {(2+cos(u))*sin(v+\Pi)}
- {sin(u)}
- \psSolid[object=surfaceparametree,
- base=-10 10 0 6.28,fillcolor=black!70,incolor=orange,
- function=torus,ngrid=60 0.4,
- opacity=0.25]
-\end{pspicture}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/support/latexindent/success/trailingComments.tex b/Master/texmf-dist/doc/support/latexindent/success/trailingComments.tex
deleted file mode 100644
index 060e1888df7..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/trailingComments.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-% arara: indent: {overwrite: yes, trace: true}
-\parbox{% more comments here
- some stuff% comments go here }}}}
- some \% stuff this is not a comment
-}
-some stuff
-some stuff
diff --git a/Master/texmf-dist/doc/support/latexindent/success/verbatim1.tex b/Master/texmf-dist/doc/support/latexindent/success/verbatim1.tex
deleted file mode 100644
index 635192051f2..00000000000
--- a/Master/texmf-dist/doc/support/latexindent/success/verbatim1.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-% arara: indent: {overwrite: true, silent: on}
-\documentclass{article}
-
-\begin{document}
-\begin{verbatim}{%
- l
- S[table-format=3.0]
- S[table-format=3.2]
- S[table-format=2.2]
- S[table-format=3.2]
- S[table-format=-2.2]
- S[table-format=3.2]
- }
- Latex & 360 & 101.77 & 10.71 & 101.86 & 64.60 & 127.20 \\
-Manufacturing & 360 & -7.33 & 12.59 & -7.24 & -49.00 & 22.00 \\
- Cons & 360 & -17.19 & 23.4 & -17.22 & -79.00 & 43.00 \\
- Apple and Orange & 360 & 3.38 & 13.84 & 3.60 & -47.00 & 29.00 \\
- Services and Harry & 104 & -4.96 & 20.8 & -4.81 & -57.00 & 30.00 \\
- Manchester & 360 & -9.29 & 8.64 & -9.26 & -35.00 & 8.00 \\
-\end{verbatim}
-\end{document}