Is there a better way to reference something at the end of a block of text?
I suggest the parnotes package. (I also took the liberty to refactor how you are encoding your character information a little bit, which you are free to ignore.)
\documentclass[letterpaper, 12pt]{article}
\usepackage[left= 2.2 cm, right=2.2 cm, top = 2.2 cm, bottom = 2.2 cm]{geometry}
%Font stuff here
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{venturis}
%Goddamn special notes
\usepackage[
notessf, % default: roman
% breakwithin, % default: paragraph notes
]{parnotes}
%Goddamn tables.
\usepackage{booktabs}
% etc.
\usepackage[svgnames]{xcolor}
%Load last stuff.
\usepackage{hyperref}
\newcommand{\headfont}{\bfseries\sffamily\color{Maroon}}% <-- whatever you like
\newcommand*{\morph}[1]{{\headfont Morph:} #1}
\newcommand*{\skills}[1]{{\headfont Skills:} #1}
\newcommand*{\implants}[1]{{\headfont Implants:} #1}
\newcommand*{\traits}[1]{{\headfont Traits:} #1}
%% this command assumes each character has exactly the same list of major categories (not sure if this is true...)
\newcommand{\chardesc}[4]{%
\small\noindent
\morph{#1}\newline
\skills{#2}\newline
\implants{#3}\newline
\traits{#4}
\par\parnotes}
\begin{document}
\chardesc{Menton}%
{Academics: Linguistics 85, Academics: Neurolinguistics 80, Art:
Logograms 50, Interests: Accents 60, Interests: Dialects 75,
Interests: Synthetic Languages 80, Interests: Xenolinguistics 80,
Interfacing 50, Investigation 50, Language: Native Gaelic 95,
Language: Any%
\parnote{Gailteach knows hundreds of human languages and dialects;
common languages (Arabic, English, French, Hindi, Japanese,
Mandarin, etc.) have a typical rating of 75; uncommon languages
60, and synthetic \& obscure languages (Esperanto, Klingon,
Sumerian, \&c.) 50.}%
, Networking: Firewall 25, Networking: Scientists 25, Profession:
Interpreter 75 Profession: Linguist: 80, Profession: Teacher 60,
Profession: Translator 65, Research 77%
\parnote{That is, he hates it, but he knows how to do it.}%
}%
{Basic Biomods, Basic Mesh Inserts, Cortical Stack, Eidetic Memory,
Hyper-Linguist, Math Boost, Multi-tasking, Oracles}%
{Fast Learner, Mental Disorder (Severe phobia of
psychosurgery%
\parnote{And, really, who isn't?}%
), Neural Damage
(Amnesia, Blackouts)}
\bigskip
\chardesc{Menton (without commentary)}%
{Academics: Linguistics 85, Academics: Neurolinguistics 80, Art:
Logograms 50, Interests: Accents 60, Interests: Dialects 75,
Interests: Synthetic Languages 80, Interests: Xenolinguistics 80,
Interfacing 50, Investigation 50, Language: Native Gaelic 95,
Language: Any, Networking: Firewall 25, Networking: Scientists 25,
Profession: Interpreter 75 Profession: Linguist: 80, Profession:
Teacher 60, Profession: Translator 65, Research 77}%
{Basic Biomods, Basic Mesh Inserts, Cortical Stack, Eidetic Memory,
Hyper-Linguist, Math Boost, Multi-tasking, Oracles}%
{Fast Learner, Mental Disorder (Severe phobia of psychosurgery ),
Neural Damage (Amnesia, Blackouts)}
\end{document}
Setting things in a minipage
(based on a discussion in chat) is also an option, since minipage
s have their \footnote
s grouped at the bottom of them (by default):
\documentclass[letterpaper, 12pt]{article}
\usepackage[margin=22mm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
%\patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\endminipage}{\unskip}{\vspace*{-.7\baselineskip}\unskip}{}{}
\makeatletter
\renewcommand\@makefntext[1]{% From article.cls
\parindent 1em%
\noindent
\hb@[email protected]{\@makefnmark\hss}#1}%\hb@[email protected]{\hss\@makefnmark}#1}
\newenvironment{statblock}
{%\renewcommand{\thefootnote}{\@fnsymbol{footnote}}% Footnotes are symbols
\let\footnoterule\relax% No footnote rule
\setlength{\footskip}{0pt}\noindent\minipage{\linewidth}\small\strut\ignorespaces}
{\strut\endminipage}
\makeatother
\begin{document}
{\small
\noindent\textbf{Morph:} Menton\\
\textbf{Skills:} Academics: Linguistics 85, Academics: Neurolinguistics 80, Art: Logograms 50,
Interests: Accents 60, Interests: Dialects 75, Interests: Synthetic Languages 80, Interests:
Xenolinguistics 80, Interfacing 50, Investigation 50, Language: Native Gaelic 95,
Language: Any*, Networking: Firewall 25, Networking: Scientists 25, Profession:
Interpreter 75 Profession: Linguist: 80, Profession: Teacher 60, Profession: Translator 65,
Research 77\\
\textbf{Implants:} Basic Biomods, Basic Mesh Inserts, Cortical Stack, Eidetic Memory, Hyper-Linguist, Math Boost, Multi-tasking, Oracles\\
\textbf{Traits:} Fast Learner, Mental Disorder (Severe phobia of psychosurgery), Neural Damage (Amnesia, Blackouts) \\{}
*Gailteach knows hundreds of human languages and dialects; common languages (Arabic, English, French, Hindi, Japanese, Mandarin, etc.) have a typical rating of 75;
uncommon languages 60, and synthetic \& obscure languages (Esperanto, Klingon, Sumerian, \&c.) 50.
}
\bigskip
\begin{statblock}
\textbf{Morph:} Menton \par
\textbf{Skills:} Academics: Linguistics 85, Academics: Neurolinguistics 80, Art: Logograms 50,
Interests: Accents 60, Interests: Dialects 75, Interests: Synthetic Languages 80, Interests:
Xenolinguistics 80, Interfacing 50, Investigation 50, Language: Native Gaelic 95,
Language: Any\footnote{Gailteach knows hundreds of human languages and dialects;
common languages (Arabic, English, French, Hindi, Japanese, Mandarin, etc.) have
a typical rating of 75; uncommon languages 60, and synthetic \& obscure languages
(Esperanto, Klingon, Sumerian, \&c.) 50.}, Networking: Firewall 25, Networking:
Scientists 25, Profession: Interpreter 75 Profession: Linguist: 80, Profession:
Teacher 60, Profession: Translator 65, Research 77 \par
\textbf{Implants:} Basic Biomods, Basic Mesh Inserts, Cortical Stack, Eidetic Memory,
Hyper-Linguist, Math Boost, Multi-tasking, Oracles \par
\textbf{Traits:} Fast Learner, Mental Disorder (Severe phobia of psychosurgery),
Neural Damage (Amnesia, Blackouts)
\end{statblock}
\end{document}
If is also advisable to define a macro that will set the "characteristic titles", since it allows for easy change later. For line spacing adjustment, I suggest adding the setspace
package and using \setstretch
(say).