summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hang/hang.sty
blob: 888bfc5956c27f22050ab512c315de3b9404cb54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
\ProvidesPackage{hang}[2017/02/18 v2.1 Hanging paragraphs and list items]

% Copyright (C) 2017 Andreas Nolda

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

% 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.

\newlength{\hangingindent}
\newlength{\hangingleftmargin}
\newlength{\labeledleftmargin}

\newenvironment{hangingpar}%
  {\ifnum\hangingindent=0\setlength{\hangingindent}{1em}\fi
   \begin{list}{}%
     {\setlength{\leftmargin}{\hangingleftmargin}%
      \addtolength{\leftmargin}{\hangingindent}%
      \setlength{\itemindent}{-\hangingindent}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}%
      \setlength{\topsep}{\z@}}
   \item{}}%
  {\end{list}}

\newenvironment{hanginglist}%
  {\ifnum\hangingindent=0\setlength{\hangingindent}{1em}\fi
   \begin{list}{}%
     {\setlength{\leftmargin}{\hangingleftmargin}%
      \addtolength{\leftmargin}{\hangingindent}%
      \setlength{\itemindent}{-\hangingindent}%
      \setlength{\partopsep}{\z@}}}%
  {\end{list}}

\newenvironment{compacthang}%
  {\ifnum\hangingindent=0\setlength{\hangingindent}{1em}\fi
   \begin{list}{}%
     {\setlength{\leftmargin}{\hangingleftmargin}%
      \addtolength{\leftmargin}{\hangingindent}%
      \setlength{\itemindent}{-\hangingindent}%
      \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}{\labeledleftmargin}%
      \addtolength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}%
      \setlength{\topsep}{\z@}}
   \item[#2]{}}%
  {\end{list}}

\newenvironment{labeledlist}[1]%
  {\begin{list}{}%
     {\renewcommand{\makelabel}[1]{##1\hfil}%
      \settowidth{\labelwidth}{#1}%
      \setlength{\labelsep}{1em}%
      \setlength{\leftmargin}{\labeledleftmargin}%
      \addtolength{\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}{\labeledleftmargin}%
      \addtolength{\leftmargin}{\labelwidth}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\partopsep}{\z@}%
      \setlength{\parsep}{\z@}%
      \setlength{\itemsep}{\z@}}}%
  {\end{list}}