Chapter 1. Introduction

LaTeX is not just a system for typesetting mathematics. Its applications span the one-page memorandum, business and personal letters, newsletters, articles, and books covering the whole range of the sciences and humanities, ... right up to full-scale expository texts and reference works on all topics. Nowadays, versions of LaTeX exist for practically every type of computer and operating system. This book provides a wealth of information about its many present-day uses but first provides some background information.

The first section of this chapter looks back at the origins and subsequent development of LaTeX.1 The second section gives an overview of the file types used by a typical current LaTeX system and the rôle played by each. Finally, the chapter offers some guidance on how to use the book.

1 A more personal account can be found in The LaTeX legacy: 2.09 and all that [148].

1.1. A brief history

In the Beginning ...

In May 1977, Donald Knuth of Stanford University [94] started work on the text-processing system that is now known as “TeX and ” [8286]. In the foreword of The TeXbook [82], Knuth writes: “TeX [is] a new typesetting system intended for the creation of beautiful books—and especially for books that contain a lot of mathematics. By preparing a manuscript in TeX format, you will be telling a computer exactly how the manuscript is to be transformed into pages whose typographic quality is comparable to that of the world’s finest printers.”

In 1979, Gordon Bell wrote in a foreword to an earlier book, TeX and METAFONT, New Directions in Typesetting [80]: “Don Knuth’s Tau Epsilon Chi (TeX) is potentially the most significant invention in typesetting in this century. It introduces a standard language in computer typography and in terms of importance could rank near the introduction of the Gutenberg press.”

In the early 1990s, Donald Knuth officially announced that TeX would not undergo any further development [96] in the interest of stability. Perhaps unsurprisingly, the 1990s saw a flowering of experimental projects that extended TeX in various directions; many of these are coming to fruition in the early 21st century, making it an exciting time to be involved in automated typography.

The development of TeX from its birth as one of Don’s “personal productivity tools” (created simply to ensure the rapid completion and typographic quality of his then-current work on The Art of Computer Programming) [88] was largely influenced and nourished by the American Mathematical Society on behalf of U.S. research mathematicians.

... and Lamport saw that it was Good.

While Don was developing TeX, in the early 1980s, Leslie Lamport started work on the document preparation system now called LaTeX, which used TeX’s typesetting engine and macro system to implement a declarative document description language based on that of a system called Scribe by Brian Reid [142]. The appeal of such a system is that a few high-level LaTeX declarations, or commands, allow the user to easily compose a large range of documents without having to worry much about their typographical appearance. In principle at least, the details of the layout can be left for the document designer to specify elsewhere.

The second edition of LaTeX: A Document Preparation System [104] begins as follows: “LaTeX is a system for typesetting documents. Its first widely available version, mysteriously numbered 2.09, appeared in 1985.” This release of a stable and well-documented LaTeX led directly to the rapid spread of TeX-based document processing beyond the community of North American mathematicians.

LaTeX was the first widely used language for describing the logical structure of a large range of documents and hence introducing the philosophy of logical design, as used in Scribe. The central tenet of “logical design” is that the author should be concerned only with the logical content of his or her work and not its visual appearance. Back then, LaTeX was described variously as “TeX for the masses” and “Scribe liberated from inflexible formatting control”. Its use spread very rapidly during the next decade. By 1994 Leslie could write, “LaTeX is now extremely popular in the scientific and academic communities, and it is used extensively in industry.” But that level of ubiquity looks quite small when compared with the present day when it has become, for many professionals on every continent, a workhorse whose presence is as unremarkable and essential as the workstation on which it is used.

Going global

The worldwide availability of LaTeX quickly increased international interest in TeX and in its use for typesetting a range of languages. LaTeX 2.09 was (deliberately) not globalized but it was globalizable; moreover, it came with documentation worth translating because of its clear structure and straightforward style. Two pivotal conferences (Exeter UK, 1988, and Karlsruhe Germany, 1989) established clearly the widespread adoption of LaTeX in Europe and led directly to International LaTeX [151] and to work led by Johannes Braams [25] on more general support for using a wide variety of languages and switching between them (see Chapter 9).

Note that in the context of typography, the word language does not refer exclusively to the variety of natural languages and dialects across the universe; it also has a wider meaning. For typography, “language” covers a lot more than just the choice of “characters that make up words”, as many important distinctions derive from other cultural differences that affect traditions of written communication. Thus, important typographic differences are not necessarily in line with national groupings but rather arise from different types of documents and distinct publishing communities.

The Next Generation

Another important contribution to the reach of LaTeX was the pioneering work of Frank Mittelbach and Rainer Schöpf on a complete replacement for LaTeX’s interface to font resources, the New Font Selection Scheme (NFSS) (see Chapter 7). They were also heavily involved in the production of the AMS-LaTeX system that added advanced mathematical typesetting capabilities to LaTeX (see Chapter 8).

Too much of a Good Thing™

As a reward for all their efforts, which included a steady stream of bug reports (and fixes) for Leslie, by 1991 Frank and Rainer had “been allowed” to take over the technical support and maintenance of LaTeX. One of their first acts was to consolidate International LaTeX as part of the kernel1 of the system, “according to the standard developed in Europe”. Very soon Version 2.09 was formally frozen and, although the change-log entries continue for a few months into 1992, plans for its demise as a supported system were already far advanced as something new was badly needed. The worldwide success of LaTeX had by the early 1990s led in a sense to too much development activity: under the hood of Leslie’s “family sedan” many TeXnicians had been laboring to add such goodies as super-charged, turbo-injection, multi-valved engines and much “look-no-thought” automation. Thus, the announcement in 1994 of the new standard LaTeX, christened LaTeX2ε, explains its existence in the following way:

“Over the years many extensions have been developed for LaTeX. This is, of course, a sure sign of its continuing popularity but it has had one unfortunate result: incompatible LaTeX formats came into use at different sites. Thus, to process documents from various places, a site maintainer was forced to keep LaTeX (with and without NFSS), SliTeX, AMS-LaTeX, and so on. In addition, when looking at a source file it was not always clear for which format the document was written.

To put an end to this unsatisfactory situation a new release of LaTeX was produced. It brings all such extensions back under a single format and thus prevents the proliferation of mutually incompatible dialects of LaTeX 2.09.”

1 Kernel here means the core, or center, of the system.

Standard LaTeX

The development of this “New Standard LaTeX” and its maintenance system was started in 1993 by the LaTeX3 Project Team [126], which soon comprised Frank Mittelbach, Rainer Schöpf, Chris Rowley, Johannes Braams, Michael Downes, David Carlisle, Alan Jeffrey, and Denys Duchier, with some encouragement and gentle bullying from Leslie. Although the major changes to the basic LaTeX system (the kernel) and the standard document classes (styles in 2.09) were completed by 1994, substantial extra support for colored typography, generic graphics, and fine positioning control were added later, largely by David Carlisle. Access to fonts for the new system incorporated work by Mark Purtill on extensions of NFSS to better support variable font encodings and scalable fonts [3032].

The 21st century

Although the original goal for this new version was consolidation of the wide range of models carrying the LaTeX marquee, what emerged was a substantially more powerful system with both a robust mechanism (via LaTeX packages) for extension and, importantly, a solid technical support and maintenance system. This provides robustness via standardization and maintainability of both the code base and the support systems. This system remains the current standard LaTeX system that is described in this book. It has fulfilled most of the goals for “a new LaTeX for the 21st Century”, as they were envisaged back in 1989 [129, 131].

The specific claims of the current system are “... better support for fonts, graphics and color; actively maintained by the LaTeX3 Project Team”. The details of how these goals were achieved, and the resulting subsystems that enabled the claims to be substantially attained, form a revealing study in distributed software support: The core work was done in at least five countries and, as is illustrated by the bugs database [106], the total number of active contributors to the technical support effort remains high.

The package system

Although the LaTeX kernel suffered a little from feature creep in the late 1990s, the package system together with the clear development guidelines and the legal framework of the LaTeX Project Public License (LPPL) [111] have enabled LaTeX to remain almost completely stable while supporting a wide range of extensions. These have largely been provided by a similarly wide range of people who have, as the project team are happy to acknowledge and the on-line catalogue [169] bears witness, enhanced the available functionality in a vast panoply of areas.

Development work

All major developments of the base system have been listed in the regular issues of LaTeX News [107]. At the turn of the century, development work by the LaTeX3 Project Team focused on the following areas: supporting multi-language documents [120]; a “Designer Interface for LaTeX” [123]; major enhancements to the output routine [121]; improved handling of inter-paragraph formatting; and the complex front-matter requirements of journal articles. Prototype code has been made available; see [124].

No new features ...

One thing the project team steadfastly refused to do was to unnecessarily “enhance” the kernel by providing additional features as part of it, thereby avoiding the trap into which LaTeX 2.09 fell in the early 1990s: the disintegration into incompatible dialects where documents written at one site could not be successfully processed at another site. In this discussion it should not be forgotten that LaTeX serves not only to produce high-quality documents, but also to enable collaboration and exchange by providing a lingua franca for various research communities.

With LaTeX2ε, documents written in 19961 can still be run with today’s LaTeX. New documents run on older kernel releases if the additional packages used are brought up-to-date—a task that, in contrast to updating the LaTeX kernel software, is easily manageable even for users working in a multiuser environment (e.g., in a university or company setting).

1 The time between 1994 and 1996 was a consolidation time for LaTeX2ε, with major fixes and enhancements being made until the system was thoroughly stable.

... but no standstill

But a stable kernel is not identical to a standstill in software development; of equally crucial importance to the continuing relevance and popularity of LaTeX is the diverse collection of contributed packages building on this stable base. The success of the package system for non-kernel extensions is demonstrated by the enthusiasm of these contributors—many thanks to all of them! As can be easily appreciated by visiting the highly accessible and stable Comprehensive TeX Archive Network (see Appendix C) or by reading this book (where more than 250 of these “Good Guys”2 are listed on page 1080), this has supported the existence of an enormous treasure trove of LaTeX packages and related software.

2 Unfortunately, this is nearly the literal truth: You need a keen eye to spot the nine ladies listed.

The back office

The provision of services, tools, and systems-level support for such a highly distributed maintenance and development system was itself a major intellectual challenge, because many standard working methods and software tools for these tasks assume that your colleagues are in the next room, not the next continent (and in the early days of the development, e-mail and FTP were the only reliable means of communication). The technical inventiveness and the personalities of everyone involved were both essential to creating this example of the friendly face of open software maintenance, but Alan Jeffrey and Rainer Schöpf deserve special mention for “fixing everything”.

A vital part of this system that is barely visible to most people is the regression testing system with its vast suite of test files [119]. It was devised and set up by Frank and Rainer with Daniel Flipo; it has proved its worth countless times in the never-ending battle of the bugs.

Research

Some members of the project team have built on the team’s experience to extend their individual research work in document science beyond the current LaTeX structures and paradigms. Some examples of their work up to 2003 can be found in the following references: [3336, 117, 127, 138, 147, 149].

Until 2020?

Meanwhile, the standard LaTeX system will have two major advantages over anything else that will emerge in the next 10 years to support fully automated document processing. First, it will efficiently provide high-quality formatting of a large range of elements in very complex documents of arbitrary size. Second, it will be robust in both use and maintenance and hence will have the potential to remain in widespread use for at least a further 15 years.3

3 One of the authors has publicly staked a modest amount of beer on TeX remaining in general use (at least by mathematicians) until at least 2010.

... and into the future

An important spin-off from the research work was the provision of some interfaces and extensions that are immediately usable with standard LaTeX. As more such functionality is added, it will become necessary to assess the likelihood that merely extending LaTeX in this way will provide a more powerful, yet still robust and maintainable, system. This is not the place to speculate further about the future of LaTeX but we can be sure that it will continue to develop and to expand its areas of influence whether in traditional publishing or in electronic systems for education and commerce.

1.2. Today’s system

This section presents an overview of the vast array of files used by a typical LaTeX system with its many components. This overview will also involve some descriptions of how the various program components interact. Most users will never need to know anything of this software environment that supports their work, but this section will be a useful general reference and an aid to understanding some of the more technical parts of this book.

Although modern LaTeX systems are most often embedded in a project-oriented, menu-driven interface, behind the scenes little has changed from the file-based description given here. The stability of LaTeX over time also means that an article by Joachim Schrod on The Components of TeX [153] remains the best source for a more comprehensive explanation of a TeX-based typesetting system. The following description assumes familiarity with a standard computer file system in which a “file extension” is used to denote the “type of a file”.

In processing a document, the LaTeX program reads and writes several files, some of which are further processed by other applications. These are listed in Table 1.1, and Figure 1.1 shows schematically the flow of information behind the scenes (on pages 8 and 9).

Image

Table 1.1. Overview of the file types used by TeX and LaTeX

Image

Figure 1.1. Data flow in the LaTeX system

Document input

The most obviously important files in any LaTeX-based documentation project are the input source files. Typically, there will be a master file that uses other subsidiary files (see Section 2.1). These files most often have the extension .tex (code documentation for LaTeX typically carries the extension .dtx; see Chapter 14); they are commonly known as “plain text files” since they can be prepared with a basic text editor. Often, external graphical images are included in the typeset document utilizing the graphics interface described in Section 10.2.

Structure and style

LaTeX also needs several files containing structure and layout definitions: class files with the extension .cls; option files with the extension .clo; package files with the extension .sty (see Appendix A). Many of these are provided by the basic system set-up, but others may be supplied by individual users. LaTeX is distributed with five standard document classes: article, report, book, slides, and letter. These document classes can be customized by the contents of other files specified either by class options or by loading additional packages as described in Section 2.1. In addition, many LaTeX documents will implicitly input language definition files of the babel system with the extension .ldf (see Chapter 9) and encoding definition files of the inputenc/fontenc packages with the extension .def (see Chapter 7).

Font resources

The information that LaTeX needs about the glyphs to be typeset is found in TeX font metric files (extension .tfm). This does not include information about the shapes of glyphs, only about their dimensions. Information about which font files are needed by LaTeX is stored in font definition files (extension .fd). Both types are loaded automatically when necessary. See Chapter 7 for further information about font resources.

The LaTeX format

A few other files need to be available to TeX, but you are even less likely to come across them directly. An example includes the LaTeX format file LaTeX.fmt that contains the core LaTeX instructions, precompiled for processing by the TeX formatter. There are some situations in which this format needs to be recompiled—for example, when changing the set of hyphenation rules available to LaTeX (configured in language.dat; see Section 9.5.1) and, of course, when a new LaTeX kernel is made available. The details regarding how such formats are generated differ from one TeX implementation to the next, so they are not described in this book.

The output from LaTeX itself is a collection of internal files (see below), plus one very important file that contains all the information produced by TeX about the typeset form of the document.

Formatted output

TeX’s own particular representation of the formatted document is that of a device-independent file (extension .dvi). TeX positions glyphs and rules with a precision far better than 0.01 μm (1/4,000,000 inch). Therefore, the output generated by TeX can be effectively considered to be independent of the abilities of any physical rendering device—hence the name. Some variants of the TeX program, such as pdfTeX [159, 161] and VTeX [168], can produce device-independent file formats including the Portable Document Format (PDF) (extension .pdf), which is the native file format of Adobe Acrobat.

The .dvi file format specifies only the names/locations of fonts and their glyphs—it does not contain any rendering information for those glyphs. The .pdf file format can contain such rendering information.

Cross-references

Some of the internal files contain code needed to pass information from one LaTeX run to the next, such as for cross-references (the auxiliary file, extension .aux; see Section 2.3) and for typesetting particular elements of the document such as the table of contents (extension .toc) and the lists of figures (extension .lof) and of tables (extension .lot). Others are specific to particular packages (such as minitoc, Section 2.3.6, or endnotes, Section 3.2.7) or to other parts of the system (see below).

Errors, warnings, and information

Finally, TeX generates a transcript file of its activities with the extension .log. This file contains a lot of information, such as the names of the files read, the numbers of the pages processed, warning and error messages, and other pertinent data that is especially useful when debugging errors (see Appendix B).

Indexing

A file with the extension .idx contains individual unsorted items to be indexed. These items need to be sorted, collated, and unified by a program like makeindex or xindy (see Chapter 11). The sorted version is typically placed into a file (extension .ind) that is itself input to LaTeX. For makeindex, the index style information file has an extension of .ist and its transcript file has an extension .ilg; in contrast xindy appears not to use any predefined file types.

Citations and bibliography

Information about bibliographic citations (see Chapter 12) in a document is normally output by LaTeX to the auxiliary file. This information is used first to extract the necessary information from a bibliographic database and then to sort it; the sorted version is put into a bibliography file (extension .bbl) that is itself input to LaTeX. If the system uses BibTeX (see Chapter 13) for this task, then the bibliographic database files will have an extension of .bib, and information about the process will be in a bibliography style file (extension .bst). Its transcript file has the extension .blg.

Using specials

PostScript

Because of the limitations of TeX, especially its failure to handle graphics, it is often necessary to complete the formatting of some elements of the typeset document after TeX has positioned everything and written this information to the .dvi file. This is normally done by attaching extra information and handling instructions at the correct “geometrical position in the typeset document”, using TeX’s special primitive that simply puts this information at the correct place in the .dvi file (see Chapter 10). This information may be simply the name of a graphics file to be input; or it may be instructions in a graphics language. Currently the most common such secondary formatter is a PostScript interpreter. To use this method, all information output by TeX to the .dvi file, including that in the specials, must be transformed into PostScript code; applications to do this form part of all LaTeX systems.

Seeing is believing

Once the document has been successfully processed by TeX (and possibly transformed into PostScript), you will probably want to take a look at the formatted text. This is commonly done on screen, but detailed inspection of printed output should always be performed via printing on paper at the highest available resolution. The applications available for viewing documents on screen still (as of late 2003) vary quite a lot from system to system. Some require a .dvi file, while others use a .ps file. A current favorite approach is to use a .pdf file, especially when electronic distribution of the formatted document is required. Occasionally you will find that some applications will produce much better quality screen output than others; this is due to limitations of the different technologies and the availability of suitable font resources.

1.3. Working with this book

This final section of Chapter 1 gives an overview of the structure of this book, the typographic conventions used, and ways to use the examples given throughout the book.

1.3.1. What’s here

Following is a summary of the subject areas covered by each chapter and appendix. In principle, the remaining chapters can be read independently since, when necessary, pointers are given to where necessary supplementary information can be found in other parts of the book.

Chapter 1  gives a short introduction to the LaTeX system and this book.

Chapter 2  discusses document structure markup, including sectioning commands and cross-references.

Chapter 3  describes LaTeX’s basic typesetting commands.

Chapter 4  explains how to influence the visual layout of the pages in various ways.

Chapter 5  shows how to lay out material in columns and rows, on single and multiple pages.

Chapter 6  discusses floating material and caption formatting.

Chapter 7  discusses in detail LaTeX’s Font Selection Scheme and shows how to access new fonts.

Chapter 8  reviews mathematical typesetting, particularly the packages supported by the American Mathematical Society.

Chapter 9  describes support for using LaTeX with multiple languages, particularly the babel system.

Chapter 10   covers the simpler extensions of LaTeX for graphics, including the use of PostScript.

Chapter 11   discusses the preparation and typesetting of an index; the programs makeindex and xindy are described.

Chapter 12   describes LaTeX’s support for the different bibliographical reference schemes in common use.

Chapter 13   explains how to use bibliographical databases in conjunction with LaTeX and how to generate typeset bibliographies according to publishers’ expectations.

Chapter 14   shows how to document LaTeX files and how to use such files provided by others.

Appendix A  reviews how to handle and manipulate the basic LaTeX programming structures and how to produce class and package files.

Appendix B  discusses how to trace and resolve problems.

Appendix C  explains how to obtain the packages and systems described in this book and the support systems available.

Appendix D  briefly introduces the TLC2 TeX CD-ROM (at the back of the book).

Some of the material covered in the book may be considered “low-level” TeX that has no place in a book about LaTeX. However, to the authors’ knowledge, much of this information has never been described in the “LaTeX” context though it is important. Moreover, we do not think that it would be helpful simply to direct readers to books like The TeXbook, because most of the advice given in books about Plain TeX is either not applicable to LaTeX or, worse, produces subtle errors if used with LaTeX. In some sections we have, therefore, tried to make the treatment as self-contained as possible by providing all the information about the underlying TeX engine that is relevant and useful within the LaTeX context.

1.3.2. Typographic conventions

It is essential that the presentation of the material conveys immediately its function in the framework of the text. Therefore, we present below the typographic conventions used in this book.

Commands, environments, packages, ...

Throughout the text, LaTeX command and environment names are set in monospaced type (e.g., caption, enumerate, egin{tabular}), while names of package and class files are in sans serif type (e.g., article). Commands to be typed by the user on a computer terminal are shown in monospaced type and are underlined (e.g., This is user input).

Syntax descriptions

The syntax of the more complex LaTeX commands is presented inside a rectangular box. Command arguments are shown in italic type:

Image

In LaTeX, optional arguments are denoted with square brackets and the star indicates a variant form (i.e., is also optional), so the above box means that the itlespacing command can come in four different incarnations:

Image

For some commands, not all combinations of optional arguments and/or star forms are valid. In that case the valid alternatives are explicitly shown together, as, for example, in the case of LaTeX’s sectioning commands:

Image

Here the optional toc-entry argument can be present only in the unstarred form; thus, we get the following valid possibilities:

Image

Code examples ...

Lines containing examples with LaTeX commands are indented and are typeset in a monospaced type at a size somewhat smaller than that of the main text:

Image

... with output ...

However, in the majority of cases we provide complete examples together with the output they produce side by side:

1-3-1
Image

Note that all preamble commands are always shown in blue in the example source.

... with several pages ...

In case several pages need to be shown to prove a particular point, (partial) “page spreads” are displayed and usually framed to indicate that we are showing material from several pages.

1-3-2
Image

A number of points should be noted here:

• We usually arrange the examples to show pages 6 and 7 so that a double spread is displayed.

• We often use the command sample to hold a short piece of text to keep the example code short (the definition for this command is either given as part of the example or, as indicated here, repeated from an earlier example—which in this example is simply a lie as sample is not defined).

• The output may or may not show a header and footer. In the above case it shows both.

... with large output ...

For large examples, where the input and output cannot be shown conveniently alongside each other, the following layout is used:

Image

Depending on the example content, some additional explanation might appear between input and output (as in this case).

1-3-3
Image

... or with lines indicating the margins

Chapter 8 shows yet another example format, where the margins of the example are explicitly indicated with thin blue vertical rules. This is done to better show the precise placement of displayed formulas and their tags in relation to the text margins.

1-3-4
Image

All of these examples are “complete” if you mentally add a documentclass line (with the article class1 as an argument) and surround the body of the example with a document environment. In fact, this is how all of the (nearly 1000) examples in this book were produced. When processing the book, special LaTeX commands take the source lines for an example and write them to an external file, thereby automatically adding the documentclass and the document environment lines. This turns each example into a small but complete LaTeX document. These documents are then externally processed (using a mechanism that runs each example as often as necessary, including the generation of a bibliography through BibTeX). The result is converted into small EPS graphics, which are then loaded in the appropriate place the next time LaTeX is run on the whole book. More details on the actual implementation of this scheme can be found in Section 3.4.3 on page 162.

1 Except for examples involving the chapter command, which need the report or book class.

Image Watch out for these

Throughout the book, blue notes are sprinkled in the margin to help you easily find certain information that would otherwise be hard to locate. In a few cases these notes exhibit a warning sign, indicating that you should probably read this information even if you are otherwise only skimming through the particular section.

1.3.3. Using the examples

Our aim when producing this book was to make it as useful as possible for our readers. For this reason the book contains nearly 1000 complete, self-contained examples of all aspects of typesetting covered in the book.

These examples are made available in source format on CTAN in info/examples/tlc2 and are also provided on the accompanying CD-ROM in Books/ tlc2/examples. The examples are numbered per section, and each number is shown in a small box in the inner margin (e.g., 1-3-4 for the example on the preceding page). These numbers are also used for the external file names by appending .ltx (single-page examples) or .ltx2 (double-page examples).

To reuse any of the examples it is usually sufficient to copy the preamble code (typeset in blue) into the preamble of your document and, if necessary, adjust the document text as shown. In some cases it might be more convenient to place the preamble code into your own package (or class file), thus allowing you to load this package in multiple documents using usepackage. If you want to do the latter, there are two points to observe:

• Any use of usepackage in the preamble code should be replaced by RequirePackage, which is the equivalent command for use in package and class files (see Section A.4.5).

• Any occurrence of makeatletter and makeatother must be removed from the preamble code. This is very important because the makeatother would stop correct reading of such a file.

So let us assume you wish to reuse the code from the following example:

1-3-5
Image

You have two alternatives: You can copy the preamble code (i.e., code colored blue) into your own document preamble or you can place that code—but without the makeatletter and makeatother—in a package file (e.g., reseteqn.sty) and afterwards load this “package” in the preamble of your own documents with usepackage{reseteqn}.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.177.151