jevstrudel.git / docs / iclc2023-paper / inconsolata.sty
inconsolata.sty92 lines · 2.2 KB · raw
1% Copyright 2014 Michael Sharpe
2% Based initially on Karl Berry's inconsolata.sty.
3% You may freely use, modify and/or distribute this file.
4
5\def\fileversion{1.05}
6\def\filedate{2014/06/22}
7\NeedsTeXFormat{LaTeX2e}
8\ProvidesPackage{inconsolata}[\filedate\space v\fileversion]
9\message{`inconsolata-zi4' v\fileversion, \filedate\space Text macros for Inconsolata (msharpe)}
10
11\RequirePackage{textcomp}
12\RequirePackage{keyval}
13
14\newcount\zifour@ocount
15\newif\ifzifour@altzero
16\newif\ifzifour@noupq
17\define@key{zifour}{scaled}[1.0]{\def\zifour@scaled{s*[#1]}}
18
19\DeclareOption*{%
20  \begingroup
21  \edef\x{\endgroup
22    \noexpand\setkeys{zifour}{\CurrentOption}}%
23  \x}
24
25% by default, change \tt to mean zi4.
26\newcommand*{\zifour@default}{%
27  \renewcommand*{\ttdefault}{zi4}%
28}
29
30% option [nott] to avoid changing tt.
31\DeclareOption{nott}{%
32  \renewcommand*{\zifour@default}{}%
33}
34% option [noupquote] to prevent loading upquote.
35\DeclareOption{noupquote}{%
36  \zifour@noupqtrue}%
37  
38% option var0---use unslashed zero (slashed is default)
39\DeclareOption{var0}{%
40  \zifour@altzerotrue\advance\zifour@ocount \tw@ %
41}
42\DeclareOption{varl}{%
43  \advance\zifour@ocount \@ne %
44}
45\DeclareOption{varqu}{%
46  \advance\zifour@ocount 4\relax %
47}
48
49\ProcessOptions*
50\zifour@default
51\edef\zifour@opt{\the\zifour@ocount}
52\ifzifour@altzero 
53  \advance\zifour@ocount -\tw@
54\else
55  \advance\zifour@ocount \tw@
56\fi
57\edef\zifour@altopt{\the\zifour@ocount}
58% define an \altzero macro which flips to slashed, unslashed
59\def\altzero{{\fontfamily{zi4}%
60 \fontshape{scit}%
61 \selectfont 0}}
62 
63\def\zifour@T@ne@nc{T1}
64\def\zifour@OT@ne@nc{OT1}
65\def\zifour@LY@ne@nc{LY1}
66\def\zifour@QX@nc{QX}
67\def\zifour@TQS{%
68\UndeclareTextCommand{\textquotesingle}{\encodingdefault}
69\DeclareTextSymbol{\textquotesingle}{TS1}{39}}
70
71\ifzifour@noupq% do nothing
72  % Try to correct for wrong slots for QX
73  \ifx\encodingdefault\zifour@QX@nc
74    \zifour@TQS
75  \else
76    \ifx\encodingdefault\zifour@LY@ne@nc
77      \zifour@TQS
78    \fi
79  \fi     
80\else
81  \AtBeginDocument{%
82  \ifx\encodingdefault\zifour@T@ne@nc % do nothing
83  \else
84    \ifx\encodingdefault\zifour@OT@ne@nc % do nothing
85    \else
86      \zifour@TQS
87    \fi
88  \fi
89  \usepackage{upquote}}
90\fi
91
92\endinput