summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
blob: 600d25e92030d165cc153056dd784366c883c353 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
%%%==============================================================================
%% Copyright 2022-present by Alceu Frigeri
%%
%% This work may be distributed and/or modified under the conditions of
%%
%% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
%%   version 1.3c (or later), and/or
%% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html),
%%   version 3 (or later)
%%
%% This work has the LPPL maintenance status *maintained*.
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
%% This is version {2.6} {2024/02/29}
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
%%
%%%==============================================================================
%% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil
%% EE    stands for "Engineering School"
%% CCA   stands for "Control and Automation Engineering Course" (Portuguese acronym)
%%%==============================================================================
\NeedsTeXFormat{LaTeX2e}[2022/06/01]


\ProvidesExplPackage
    {ufrgscca-lists}
    {2024/02/29}
    {2.6}
    {UFRGS/CCA auxiliary lists commands}


%%%%%%%
%%%
%%% Just an attempt of having my packages info in a regular way
%%% Idea being: { <pck-name> / pkg info } for each and all.
%%%
%%%%%%%
\keys_define:nn { ufrgscca-lists / pkg info}
  {
     name        .code:n = {ufrgscca-lists} ,
     prefix      .code:n = {ufrgscca} ,
     date        .code:n = {2024/02/29} ,
     version     .code:n = {2.6} ,
     description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands}
  }
\cs_if_exist:NF \PkgInfo 
  {
    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
    \NewDocumentCommand \PkgDescription {m} 
      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
  }  
%%%%%%%
%%% End of cut-n-paste
%%%%%%%



%==============================================================================
% Declaração de opções
%==============================================================================
\keys_define:nn { ufrgscca  / lists}
  {
    relnum      .usage:n        = load ,
	relnum      .bool_set:N     = \l__ufrgscca_relnum_bool ,
  }

\ProcessKeyOptions[ufrgscca / lists]\relax


%%%%%%%%%%%%%%%%%%%%%
%%% Packages Loading
%%%%%%%%%%%%%%%%%%%%%

\RequirePackage{newfloat}
\RequirePackage{listings}
\RequirePackage{xcolor}

%%%
%%% command to declare a new 'list of ...' things {package newfloat}
%%%
\NewDocumentCommand{\DeclareNewFloat}{mmmm}{
 \DeclareFloatingEnvironment[
  fileext={#2},
	listname={#4},
	name={#3},
	placement=htb,
	chapterlistsgaps=off]{#1} 
    \bool_if:NTF \l__ufrgscca_relnum_bool
        { \SetupFloatingEnvironment{#1}{within=chapter} }
        { \SetupFloatingEnvironment{#1}{within=none} }
}


%
%%%%\def\listoflistings{\lstlistoflistings}%
\definecolor{lstgray}{rgb}{0.965,0.965,0.965}
\lstset{basicstyle=\ttfamily\small,
  columns=fullflexible,
  keepspaces=true,
  frame=tb,
  inputencoding=latin1,
%  inputencoding=utf8,
  extendedchars=true,
  backgroundcolor=\color{lstgray},
	breaklines=true,
%	xleftmargin=7pt,
%	xrightmargin=7pt
}


\def\listingname{Listing}
\def\listlistingname{List~ of~ Listings}
\DeclareNewFloat{codelist}{lox}{\listingname}{\listlistingname}