summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/inconsolata/inconsolata-zi4-doc.tex
blob: d43e86badfd7f09158f7be7d591a366cf187d959 (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
% !TEX TS-program = pdflatexmk
\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry} 
\usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent
\usepackage{graphicx}
\usepackage{booktabs}
\pdfmapfile{+zi4.map}
%SetFonts
% libertine text and newtxmath
%\usepackage{lmodern}
\usepackage[lining]{libertine}
\usepackage[T1]{fontenc}
%\usepackage[scaled=.83]{beramono}
\usepackage[varqu]{zi4}
%\usepackage{amsmath,amsthm}
\usepackage[libertine,cmbraces]{newtxmath}
\usepackage{textcomp}
\makeatletter
\libertine@liningfalse %old-style figures in text, not math
\makeatother
\usepackage[supstfm=libertinesups,%
  supscaled=1.2,%
  raised=-.13em]{superiors}
%SetFonts
%\UndeclareTextCommand{\textquotesingle}{LY1}
%\DeclareTextSymbol{\textquotesingle}{TS1}{39}
%\usepackage{upquote}
\title{The Inconsolata-zi4  Package}
\author{Michael Sharpe}
\date{\today}  % Activate to display a given date or no date

\begin{document}
%\show\textquotesingle
\maketitle
The package provides support files for the typewriter font
\texttt{Inconsolata}. To use it add \verb|\usepackage{zi4}| to your document. This
will change the typewriter font family to \texttt{zi4}, the family name used
by this package. The package also provides extensions of the \texttt{Inconsolata} fonts in regular and bold weights, adding some glyphs which may optionally replace existing \texttt{quotedbl} and \texttt{quotesingle} and lower-case~L, along with new \texttt{arrowright} and \texttt{arrowleft} glyphs. As with Karl Berry's original \texttt{inconsolata} package, the \LaTeX\ package \texttt{zi4} offers four encodings---\texttt{T1}, \texttt{LY1}, \texttt{OT1} and \texttt{QX}---and provides the following options which some may find improve its utility for displaying verbatim text such as code fragments. 
\begin{itemize}
\item The option \texttt{scaled=x} allows you to scale all typewriter text and verbatim text by the factor \texttt{x}.
\item
The default zero in \texttt{zi4} is now slashed. The unslashed zero may be specified with the option \texttt{var0}.
\item For those who find the default lower-case L(\texttt{l}) a bit too close to the numeral~\texttt{1}, there is an option \texttt{varl} which substitutes a more distinctive shape for all glyphs related to lower-case L.
\item The \texttt{zi4} package loads the \texttt{textcomp} package, which points to a TS1-encoded font that has been modified to have uncurved left and right quotes, especially important in code fragments, by use of \texttt{textcomp} glyphs \verb|\textasciigrave| and \verb|\textquotesingle|. The \texttt{varqu} option provides further upright quote forms for glyphs that are not part of the \texttt{textcomp} package, such as 
the default double quote glyph \texttt{quotedbl} and \texttt{quotesingle}, which by default have a small slant. (Note that the latter is not part of all encodings---it is present in \texttt{OT1}, \texttt{LY1} and \texttt{QX}, but not in \texttt{T1}.)
\item The package loads \texttt{upquote} by default, but provides an option \texttt{noupquote} to override it.
\end{itemize}
When used in ordinary typewriter mode (ie, with \verb|\texttt{}| or the deprecated form \verb|{\tt }|), left and right quotes are rendered as in ordinary text. For example, 
\begin{verbatim}
\texttt{`xy' " \textasciigrave \textquotesingle}
\end{verbatim}
renders (with option \texttt{varqu}) as \texttt{`xy' " \textasciigrave \textquotesingle}. However, if you load the \texttt{upquote} package, then  verbatim text, eg:
\begin{verbatim}
\verb|`xy' "|
\end{verbatim}
 renders more as you would expect it in code samples:
\begin{verbatim}
`xy' "
\end{verbatim}

\textbf{Note on the QX encoding:} The encoding files used as part of this package, derived from the \texttt{inconsolata} package, seem to have some inconsistencies with \texttt{qxenc.def} made necessary as a compromise to get text and verbatim modes functioning for a wide class of common characters.

In the following examples, the claim that all encodings render the same applies only to the very limited selection of quote glyphs tested. In practice, QX encoding behaves worse than the other encodings for \texttt{zi4}.

\newpage
\section*{Effects of the options varqu, noupquote}
\textbf{With \texttt{varqu}:} \texttt{upquote} loaded by default---all encodings render the same.

\begin{center}
  \begin{tabular}{@{} ccc @{}}
    \toprule
    Input & Text mode & Verbatim mode \\ 
    \midrule
    \verb|\textasciigrave| & \texttt{\textasciigrave} &   \\ 
    \verb|\textquotesingle| & \texttt{\textquotesingle}  &   \\ 
    \texttt{"} & \texttt{"}  & \verb|"|  \\ 
    \verb|'| & \texttt{'}  & \verb|'| \\ 
    \verb|`| & \texttt{`}  & \verb|`| \\ 
    \bottomrule
  \end{tabular}
\end{center}
\textbf{Without \texttt{varqu}:} \texttt{upquote} loaded by default---all encodings render the same.
\begin{center}
\includegraphics{novarqu-crop}
\end{center}
\textbf{Without \texttt{varqu}, \texttt{noupquote}:} \texttt{upquote} NOT loaded---all encodings render the same.
\begin{center}
\includegraphics{novarqu-noupq-crop}
\end{center}
\textbf{With \texttt{varqu}, \texttt{noupquote}:} \texttt{upquote} NOT loaded---all encodings render the same.
\begin{center}
\includegraphics{novarqu-noupq-crop}
\end{center}


\textbf{Conclusion:} To me, it is overwhelmingly clear that the best results come from
specifying the option \texttt{varqu}, not specifying \texttt{noupquote}, and avoiding the QX encoding wherever  possible.

\textbf{A technical note concerning LY1 or QX encodings:} These encodings make their own definitions of \verb|\textquotesingle| as glyphs in the main text font. Using the TS1 glyph with upright shape so that \texttt{upquote} works correctly with these encodings requires the incantation:
\begin{verbatim}
\UndeclareTextCommand{\textquotesingle}{LY1} % or QX
\DeclareTextSymbol{\textquotesingle}{TS1}{39}
\usepackage{upquote}
\end{verbatim}
which is built-in to the \texttt{zi4.sty} code and need not be repeated.
\end{document}