\ProvidesPackage{hang}[2014/07/31 v1.0 Hanging paragraphs and list items]

% Copyright (C) 2014 Andreas Nolda

% Author: Andreas Nolda <andreas@nolda.org>
% Version: 1.0

% This work may be distributed and/or modified under the conditions of the LaTeX
% Project Public License, either version 1.3 of this license or (at your option)
% any later version. The latest version of this license is in
% http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all
% distributions of LaTeX version 2005/12/01 or later.

\newenvironment{hanginglist}%
  {\begin{list}{}%
     {\setlength{\leftmargin}{0.5\leftmargini}%
      \setlength{\itemindent}{-0.5\leftmargini}%
      \setlength{\partopsep}{\z@}}}%
  {\end{list}}

\newenvironment{compacthang}%
  {\begin{list}{}%
     {\setlength{\leftmargin}{0.5\leftmargini}%
      \setlength{\itemindent}{-0.5\leftmargini}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}}}%
  {\end{list}}

\newenvironment{hangingpar}%
  {\begin{list}{}%
     {\setlength{\leftmargin}{0.5\leftmargini}%
      \setlength{\itemindent}{-0.5\leftmargini}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}%
      \setlength{\topsep}{\z@}}
   \item{}}%
  {\end{list}}

\newenvironment{labeledlist}[1]%
  {\begin{list}{}%
     {\renewcommand{\makelabel}[1]{##1\hfil}%
      \settowidth{\labelwidth}{#1}%
      \setlength{\labelsep}{1em}%
      \setlength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\partopsep}{\z@}}}%
  {\end{list}}

\newenvironment{compactlabel}[1]%
  {\begin{list}{}%
     {\renewcommand{\makelabel}[1]{##1\hfil}%
      \settowidth{\labelwidth}{#1}%
      \setlength{\labelsep}{1em}%
      \setlength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}}}%
  {\end{list}}

\newenvironment{labeledpar}[2]%
  {\begin{list}{}%
     {\renewcommand{\makelabel}[1]{##1\hfil}%
      \settowidth{\labelwidth}{#1}%
      \setlength{\labelsep}{1em}%
      \setlength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}%
      \setlength{\topsep}{\z@}}
   \item[#2]{}}%
  {\end{list}}
