how to open pdf file on button click in mvc : Convert pdf to html form SDK application service wpf windows asp.net dnn letterfaq6-part752

files: the
README
mentions preview-latex, LyX, and a few web-oriented environments.
Note that dvipng gives high-quality output even though its internal operations are
optimised for speed.
dvi2bitmap
:
dviware/dvi2bitmap
dvipng
:
dviware/dvipng
G
Support Packages for TeX
93 (La)TeX-friendly drawing packages
(X)Fig is a menu driven tool that allows you to draw objects on the screen of an X
workstation; transfig is a set of tools which translate the code fig. The list of export
formats is very long, and includes Metafont andMetapost, Encapsulated PostScript and
PDF, as wellas combinations that wrap a graphics format in a LaTeX import file, which
may include LaTeX commands to place text (compiled by LaTeX itself) as labels, etc.,
in the figures.
There’s no explicit port of xfig to windows (although it is believed to work under
cygwin with its X-windows system). However, the programjfig is thought by many to
be an acceptable substitute, written in Java.
Asymptote is a widely-praised development of the Metapost language, which can
draw 2D or 3D diagrams, and can also label diagrams with LaTeX text; copious
documentation is available viaasymptote’swebsite.
asymptote
:
graphics/asymptote
xfig
:
graphics/xfig
transfig
:
graphics/transfig
94 TeXCAD, a drawing package for LaTeX
TeXCAD is a program for the PC which enables the userto draw diagrams on screen
using a mouse or arrow keys, with anon-screen menu of available picture-elements. Its
output is code for the LaTeX
picture
environment. Optionally, it can be setto include
lines at all angles usingthe emTeX driver-family (
\special
s).TeXCADispartofthe
emTeX distribution.
AUnix port of the program (xtexcad) has been made.
emtex
:
systems/msdos/emtex
xtexcad
:
graphics/xtexcad/xtexcad-2.4.1.tar.gz
95 Spelling checkers for work with TeX
‘Traditional’ approaches to the problem (of checking your spelling) were designed to
work with a plain text file; in our case, we have an (La)TeX source. For the user, this
is a simple-to-understand way to do the job; but for the spell-checker programmer,
it requires heuristic (and hence fallible) analysis of (La)TeX macros and so on. The
alternative, of viewing the textafter (La)TeX has processed the results, is covered below.
The user of anshell/editor will usually find it embeds a spelling checker. For
command-line use, there are several choices, depending on the system you’re using.
For Unix, ispellwas longthe program of choice;it is wellintegratedwithemacs, and
deals with some TeX syntax. However, it has more-or-less been replaced everywhere,
by aspell, which was designed as a successor, and certainly performs better on most
metrics; there remains some question as to its performance with (La)TeX sources. The
most recent offering (which is widely used in other open-source software projects) is
Hunspell.Hunspellisavailableforotherarchitectures,too;awebsearchshowsversions
available for Windows, at least.
For the Macintosh, Excalibur has long been used; its distribution comes with
dictionaries for several languages. Hunspell (see above) is actually part of OS X from
version 10.6.
61
Convert pdf to html form - control application platform:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to html form - control application platform:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
The VMS Pascal program spell makes special cases of some important features of
LaTeX syntax.
For MS-DOS, there are several programs. Amspell can be called from within an
editor, and jspell is an extended version of ispell.
An alternative approach takes (La)TeX output, and checks that. A straightforward
approach is to produce PDF output, and process it with pdftotext, using any plain text
checker on the result (the checkers listed above all work in this rôle). For this to work
reasonably well, the user shoulddisable hyphenation before making the PDF output.
The (experimental) LuaTeX/LaTeX package spelling goes one step further: it uses
lua codetoextractwordswhiletypesetting is going on, but before hyphenationisapplied.
Each word is looked up in a list of known bad spellings, and the word highlighted if it
appears there. In parallel, a text file is created, which can be processed by a ‘normal’
spelling checker to produce a revised “bad spelling” list. (The package documentation
shows the end result; it includes words such as ‘spellling’, which are duly highlighted.)
4spell
:
support/4spell
amspell
:
support/amspell
aspell
Browse
support/aspell
—choose just those language dictionaries
(under subdirectory
dict/
)that you need.
excalibur
:
systems/mac/support/excalibur/Excalibur-4.0.2.sit.hqx
ispell
:
support/ispell
jspell
:
support/jspell
spelling.sty
:
macros/luatex/generic/spelling
VMS
spell
:
support/vmspell
winedt
:
systems/win32/winedt
96 How many words have you written?
One often has to submit a document (e.g., a paper or a dissertation) under some sort of
constraint about its size. Sensible people set a constraint in terms of numbers of pages,
but there are some that persist in limitingthe numbers of words you type.
Asimple solutiontothe requirementcanbe achievedfollowinga simpleobservation:
the powers that be are unlikely to count all the words of a document submitted to them.
Therefore, a statistical method can be employed: find how many words there are on a
full page; find how many full pages there are in the document (allowing for displays of
various sorts, this number will probably not be an integer); multiply the two. However,
if the document to be submitted is to determine the success of the rest ofone’s life, it
takes a brave person to thumb their nose at authority quite so comprehensively...
The simplest method is to strip out the (La)TeX markup, and to count what’s left.
On a Unix-like system, this maybe done using detex and the built-in wc:
detex <filename> | wc -w
The technique is beguilingly simple, but it’s not terribly accurate
The latexcount script does the same sort of job, in one “step”; being a perl script, it
is in principle rather easily configured (see documentation inside the script). Several
editors and shellsoffersomethingsimilar.
TeXcount goes a long way with heuristics for counting, starting from a LaTeX file;
the documentationis comprehensive, andyou may try the script on-line via thepackage
home page.
However, even quite sophisticatedstrippingof (La)TeX markupcannever beentirely
reliable: markup itself maycontributetypesetwords, or even consume words thatappear
in the text.
The wordcount package contains a Bourne shell (i.e., typically Unix) script for
running a LaTeX file with a special piece of supporting TeX code, and then counting
word indications in the log file. This is probably as accurate automatic counting as you
can get, if it works for you.
62
control application platform:VB.NET PDF Form Data Read library: extract form data from PDF in
RasterEdge .NET PDF SDK is such one provide various of form field edit functions. Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
www.rasteredge.com
control application platform:C# PDF Form Data Read Library: extract form data from PDF in C#.
A best PDF document SDK library enable users abilities to read and extract PDF form data in Visual C#.NET WinForm and ASP.NET WebForm applications.
www.rasteredge.com
detex
:
support/detex
latexcount.pl
:
support/latexcount/latexcount.pl
TeXcount
:
support/texcount
wordcount
:
macros/latex/contrib/wordcount
H
Literate programming
97 What is Literate Programming?
Literate programming is the combination of documentation and source together in a
fashion suited for reading by human beings. In general, literate programs combine
source and documentation in a single file. Literate programming tools then parse the
file to produce either readable documentation or compilable source. The WEB style of
literate programming was created by D. E. Knuth during the development of TeX.
The “documentedLaTeX ” style of programming is regarded by some as a form of
literate programming, though it only contains a subset of the constructs Knuth used.
Discussionof literateprogrammingis conductedinthe newsgroup
comp.programming.
literate
,whose FAQ is stored on CTAN. Another good source of information is
http://www.literateprogramming.com/
Literate Programming FAQ:
help/comp.programming.literate_FAQ
98 WEB systems for various languages
TeX is written in the programming language WEB; WEB is a tool to implement the
concept of “literate programming”. Knuth’s original implementation will be in any
respectable distribution of TeX, but the sources of the two tools (tangle and weave),
together with a manual outlining the programming techniques, may be hadfrom CTAN.
CWEB, by Silvio Levy, is a WEB for C programs.
FWEB, by John Krommes, is a version for Fortran, Ratfor,C, C++, working with
LaTeX; it was derived from CWEB.
Spidery WEB, by Norman Ramsey, supports many languages including Ada,
awk
,
and C and, while not in the public domain, is usable without charge. It is now super-
seded by noweb (also by Norman Ramsay) which incorporates the lessons learned in
implementingspidery WEB, and which is a simpler, equally powerful, tool.
SchemeWEB, by John Ramsdell, is a Unix filter that translates SchemeWEB into
LaTeX source or Scheme source.
APLWEB is a version of WEB for APL.
FunnelWeb is a version of WEB that is language independent.
Other language independent versions of WEB are nuweb (which is writtenin ANSI
C).
Tweb is a WEB for Plain TeX macro files, usingnoweb.
aplweb
:
web/apl/aplweb
cweb
:
web/c_cpp/cweb
funnelweb
:
web/funnelweb
fweb
:
web/fweb
noweb
:
web/noweb
nuweb
:
web/nuweb
schemeweb
:
web/schemeweb
spiderweb
:
web/spiderweb
tangle
:
systems/knuth/dist/web
tweb
:
web/tweb
weave
:
systems/knuth/dist/web
63
control application platform:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
C#: Convert PDF to HTML; C#: Convert PDF to Jpeg; C# File C# Protect: Add Password to PDF; C# Form: extract value from fields; C# Annotate: PDF Markup & Drawing.
www.rasteredge.com
control application platform:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
C# PDF - Convert PDF to JPEG in C#.NET. C#.NET PDF to JPEG Converting & Conversion Control. Convert PDF to JPEG Using C#.NET. Add necessary references:
www.rasteredge.com
I Format conversions
99 Conversion from (La)TeXto plain text
The aim here is to emulate the Unix nroff, which formats text as best it can for the
screen, from the same input as the Unix typesetting program troff.
Converting DVI to plain text is the basis of many of these techniques; sometimes
the simple conversion provides a good enough response. Options are:
• dvi2tty (one of the earliest),
• crudetype and
• catdvi,whichiscapableofgeneratingLatin-1(ISO8859-1)orUTF-8encoded
output. Catdvi was conceived as a replacement for dvi2tty, but development seems
to have stoppedbefore the authors were willing todeclare the work complete.
Acommon problem is the hyphenation that TeX inserts when typesetting something:
since the output is inevitably viewed using fonts that don’t match the original, the
hyphenation usually looks silly.
Ralph Droms provides a txt bundle of things in support of ASCII generation, but it
doesn’t do a good job withtables and mathematics.
Another possibilityis to use the LaTeX-to-ASCII conversionprogram, l2a, although
this is really more of a de-TeXing program.
Thecanonicalde-TeXing program is detex, whichremoves all comments and control
sequences from its input before writing it to its output. Its original purpose was to
prepare input for a dumb spelling checker, and it’s only usable for preparing useful
ASCII versions of a document in highly restricted circumstances.
Tex2mailis slightly more than a de-TeXer — it’s a Perl script that converts TeX files
into plain text files, expanding various mathematicalsymbols (sums, products, integrals,
sub/superscripts, fractions, square roots, . ..) into “ASCII art”that spreads over multiple
lines if necessary. The result is more readable to human beings than the flat-style TeX
code.
Another significant possibility is touse one of theHTML-generationsolutions, and
then to use a browser such as lynx to dump the resulting HTML as plain text.
catdvi
:
dviware/catdvi
crudetype
:
dviware/crudetype
detex
:
support/detex
dvi2tty
:
dviware/dvi2tty
l2a
:
support/l2a
tex2mail
:
support/tex2mail
txt
:
support/txt
100 Conversion from SGML or HTML to TeX
SGML is a very important system for document storage and interchange, but it has
no formatting features; its companion ISO standard DSSSL (see
http://www.jclark.
com/dsssl/
)is designed for writing transformations and formatting, but this has not
yet been widely implemented. Some SGML authoringsystems (e.g., SoftQuad Author/
Editor) have formatting abilities, and there are high-end specialist SGML typesetting
systems (e.g., Miles33’s Genera). However, the majority of SGML users probably
transform the source to an existing typesetting system when theywant to print. TeX is a
good candidate for this. There are three approaches to writing a translator:
1. Writeafree-standingtranslatorinthetraditionalway,withtoolslikeyaccandlex;
this is hard, in practice, because of the complexity of SGML.
2. UseaspecialistlanguagedesignedforSGMLtransformations;thebestknownare
probably Omnimark and Balise. They are expensive, but powerful, incorporating
SGML query and transformation abilities as well as simple translation.
64
control application platform:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
VB.NET PDF - Convert PDF to MS Office Word in VB.NET. VB.NET Tutorial for How to Convert PDF to Word (.docx) Document in VB.NET. Best
www.rasteredge.com
control application platform:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
VB.NET PDF - Convert PDF to TIFF Using VB in VB.NET. Free VB.NET Guide to Render and Convert PDF Document to TIFF in Visual Basic Class.
www.rasteredge.com
3. BuildatranslatorontopofanexistingSGMLparser.Byfarthebest-known(and
free!) parser is James Clark’s nsgmls, and this produces a much simpler output
format, called ESIS, which can be parsed quite straightforwardly (one also has the
benefit of an SGML parse against the DTD). Two good public domain packages
use this method:
• David Megginson’ssgmlspm , written in Perl 5.
• JoachimSchrodandChristineDetig’sSTIL,(‘SGMLTransformationsinLisp’).
Both of these allow the user to write ‘handlers’ for every SGML element, with
plentyof access to attributes, entities, and information about the context within the
document tree.
If these packages don’t meet your needs for an average SGML typesetting job, you
need the big commercial stuff.
Since HTML is simply an example of SGML, we do not needa specific system for
HTML. However, Nathan Torkington developed html2latex from the HTML parser in
NCSA’s Xmosaic package. The program takes an HTML file and generates a LaTeX
file from it. The conversion code is subject to NCSA restrictions, but the whole source
is available on CTAN.
Michel Goossens and Janne Saarela published a very useful summary of SGML,
and of public domain tools for writing and manipulating it, in TUGboat 16(2).
html2latex
source:
support/html2latex
101 Conversion from (La)TeX to HTML
TeX and LaTeX are well suited to producing electronically publishable documents.
However, it is important to realize the difference between page layout and functional
markup. TeX is capable of extremely detailed page layout; HTML is not, because
HTML is a functional markup language not a page layout language. HTML’s exact
rendering is not specified by the document that is published but is, to some degree, left
to the discretion of the browser. If you require your readers to see an exact replication
of what your document looks like to you, then you cannot use HTML and you must use
some other publishing format such as PDF. That is true for any HTML authoringtool.
TeX’s excellent mathematical capabilities remain a challenge in the business of
conversion to HTML. There are only two generally reliable techniques for generating
mathematics on the web: creating bitmaps of bits of typesetting that can’t be translated,
and using symbols and table constructs. Neither technique is entirely satisfactory.
Bitmaps lead to a profusion of tiny files, are slow to load, and are inaccessible to those
withvisual disabilities. The symbol fonts offer poor coverage of mathematics, and their
use requires configuration of the browser. The future of mathematical browsingmay be
brighter — seefutureWebtechnologies.
For today, possible packages are:
LaTeX2HTML aPerlscriptpackagethatsupportsLaTeXonly,andgeneratesmathe-
matics (andother “difficult”things) using bitmaps. Theoriginal version was written
by Nikos Drakos for Unix systems, but the package now sports an illustrious list of
co-authors and is also available for Windows systems. Michel Goossens and Janne
Saarela published a detailed discussion of LaTeX2HTML, and how to tailor it, in
TUGboat 16(2).
Amailing list for users may be found via
http://tug.org/mailman/listinfo/
latex2html
TtH a compiledprogram thatsupportseitherLaTeX orPlain TeX,andusesthe
font/table technique for representing mathematics. It is written by Ian Hutchinson,
using flex. The distributionconsists of a single C source (or a compiledexecutable),
which is easy to install and very fast-running.
TeX4ht acompiledprogramthatsupportseitherLaTeXorPlainTeX,byprocessinga
DVI file;ituses bitmaps for mathematics, but can also use other technologies where
appropriate. Written by Eitan Gurari, it parses the DVI file generated whenyou run
(La)TeX over your file with tex4ht’s macros included. As a result, it’s pretty robust
against the macros you include in your document, and it’s also pretty fast.
65
control application platform:C# PDF Convert to SVG SDK: Convert PDF to SVG files in C#.net, ASP
PDFDocument pdf = new PDFDocument(@"C:\input.pdf"); pdf.ConvertToVectorImages( ContextType.SVG, @"C:\demoOutput Description: Convert to html/svg files and
www.rasteredge.com
control application platform:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
C#.NET PDF SDK - Convert PDF to TIFF in C#.NET. Online C# Tutorial for How to Convert PDF File to Tiff Image File with .NET XDoc.PDF Control in C#.NET Class.
www.rasteredge.com
plasTeX aPython-basedLaTeXdocumentprocessingframework.ItgivesDOM-like
access to a LaTeX document, as well as the ability to generate mulitple output
formats (e.g. HTML, DocBook, tBook, etc.).
TeXpider acommercialprogramfromMicropress,whichisdescribedon
http://www.
micropress-inc.com/webb/wbstart.htm
;it uses bitmaps for equations.
Hevea acompiledprogramthatsupportsLaTeXonly,andusesthefont/tabletechnique
for equations (indeed its entire approach is very similar to TtH). It is written in
Objective CAML by Luc Maranget. Hevea isn’t archived onCTAN;details (includ-
ing downloadpoints) are availablevia
http://pauillac.inria.fr/~maranget/
hevea/
An interesting set of samples, including conversion of the same text by the four free pro-
grams listed above, is available at
http://www.mayer.dial.pipex.com/samples/
example.htm
;a linked page gives lists of pros and cons, by wayof comparison.
The World Wide Web Consortium maintains a list of “filters” to HTML, with
sections on (La)TeX and BibTeX — see
http://www.w3.org/Tools/Word_proc_
filters.html
latex2html
: Browse
support/latex2html
plasTeX
: Browse
support/plastex
tex4ht
:
obsolete/support/TeX4ht/tex4ht-all.zip
(but see
http:
//tug.org/tex4ht/
)
tth
:
support/tth/dist
102 Other conversions to and from (La)TeX
troff Tr2latex,assistsinthetranslationofatroffdocumentintoLaTeX2.09format.It
recognises most
-ms
and
-man
macros, plus most eqn and some tbl preprocessor
commands. Anything fancier needs tobe donebyhand. Twostylefiles are provided.
There is also a man page (which converts very well to LaTeX... ). Tr2latex is an
enhanced version of the earlier troff-to-latex (which is no longer available).
WordPerfect wp2latexisactivelymaintained,andisavailableeitherforMS-DOSor
for Unix systems.
RTF Rtf2tex,byRobertLupton,isforconvertingMicrosoft’sRichTextFormattoTeX.
There is also a converter to LaTeX by Erwin Wechtl, called rtf2latex. The latest
converter, by Ujwal Sathyam and Scott Prahl, is rtf2latex2e which seems rather
good, though development of it seems to have stalled.
Translation to RTF may be done (for a somewhat constrained set of LaTeX doc-
uments) by TeX2RTF, which can produce ordinary RTF, Windows Help RTF (as
well as HTML,conversiontoHTML). TeX2RTF is supported on various Unix
platforms and under Windows 3.1
Microsoft Word Arudimentary(free)programforconvertingMS-WordtoLaTeXis
wd2latex, which runs on MS-DOS; it probably processes the output of an archaic
version of MS-Word (the program itself was archived in 1991).
For conversion inthe other direction, the current preferred free-software method is
atwo-stage process:
• Convert LaTeX to OpenOffice format, using the tex4ht command oolatex;
• open the result in OpenOffice and‘save as’ a MS-Word document.
(Note that OpenOffice itself is not on CTAN; see
http://www.openoffice.org/
,
thoughmost linux systems offer it as a ready-to-install bundle.)
tex4ht can also generate OpenOffice ODT format, which may be used as an inter-
mediate to producingWord format files.
Word2TeX and TeX2Word are shareware translators fromChikriiSoftlab; positive
users’ reports have been noted (but not recently).
If cost is a constraint, the best bet is probably to use an intermediate format such
as RTF orHTML. Word outputs and reads both, so in principle this route may be
useful.
66
You can also use PDF as an intermediate format: Acrobat Reader for Windows
(version5.0 and later) will output rather feeble RTF that Word can read.
Excel Excel2LatexconvertsanExcelfileintoaLaTeX
tabular
environment; it comes
as a
.xls
file which defines some Excel macros to produce output in a new format.
runoff PeterVanroose’srnototexconversionprogramiswritteninVMSPascal.The
sources are distributed with a VAX executable.
refer/tib ThereareafewprogramsforconvertingbibliographicdatabetweenBibTeX
and refer/tib formats. The collectionincludes a shell script converter from BibTeX
to refer format as well. The collection is not maintained.
PC-Write pcwritex.arcisaprintdriverforPC-Writethat“prints”aPC-WriteV2.71
document to a TeX-compatible disk file. It was writtenbyPeter Flynn at University
College, Cork, Republic of Ireland.
Wilfried Hennings’ FAQ,whichdealsspecificallywithconversionsbetweenTeX-
based formats and word processor formats, offers much detail as well as tables that
allow quick comparison of features.
Agroup at Ohio State University (USA) is working ona common document format
based on SGML, with the ambition that any format could be translated to or from
this one. FrameMaker provides “import filters” to aid translation from alien formats
(presumably including TeX) to FrameMaker’s own.
excel2latex
:
support/excel2latex
pcwritex.arc
:
support/pcwritex
refer and tib tools
:
biblio/bibtex/utils/refer-tools
rnototex
:
support/rnototex
rtf2latex
:
support/rtf2latex
rtf2latex2e
:
support/rtf2latex2e
rtf2tex
:
support/rtf2tex
tex2rtf
:
support/tex2rtf
tex4ht
:
obsolete/support/TeX4ht/tex4ht-all.zip
(but see
http:
//tug.org/tex4ht/
)
tr2latex
:
support/tr2latex
wd2latex
:
support/wd2latex
wp2latex
:
support/wp2latex
Word processor FAQ (source):
help/wp-conv
103 Using TeX to read SGML or XML directly
ConTeXt (mark IV)canprocesssome*ML,toproducetypesetoutputdirectly.Details
of what can (and can not) be done, are discussed inTheConTeXtWIKI. ConTeXt
is probably the system of choice for (La)TeX users who also need to work in XML
(and friends). (Note that ConTeXt mark IV requiresLuaTeX, and should therefore be
regarded as experimental, though many people do use it successfully).
Oldersystems also manage, using no more than (La)TeX macro programming, to
process XML and the like. David Carlisle’s xmltex is the prime example; it offers a
solution fortypesetting XML files, and is still in active (though not very widespread)
use.
One use of a TeX that can typeset XML files is as a backend processor for XSL
formatting objects, serialized as XML. Sebastian Rahtz’s PassiveTeX uses xmltex to
achieve this end.
However, modern usage would proceed via XSL or XSLT2 toproduce a formattable
version.
Context
:
macros/context/current
xmltex
:
macros/xmltex/base
passivetex
:
macros/xmltex/contrib/passivetex
67
104 Retrieving (La)TeX from DVI, etc.
The job just can’t be done automatically: DVI, PostScript and PDF are “final” formats,
supposedly not susceptible to further editing — information about where things came
from has been discarded. So if you’ve lostyour (La)TeX source (or never had the source
of a document you need to work on) you’ve a serious job on your hands. In many
circumstances, the best strategy is to retype the whole document, but this strategy is
to be tempered by consideration of the size of the document and the potential typists’
skills.
If automatic assistance is necessary, it’s unlikely that any more than text retrieval
is going to be possible; the (La)TeX markup that creates the typographic effects of the
document needs to be recreated by editing.
If the file you have is in DVI format, many of the techniques forconverting(La)TeX
to ASCIIareapplicable.Considerdvi2tty,crudetypeandcatdvi.Rememberthatthere
are likely to be problems finding included material (such as included PostScript figures,
that don’t appear in the DVI file itself), andmathematics is unlikely to convert easily.
To retrieve text from PostScript files, the ps2ascii tool (part of theghostscript
distribution) is available. One could try applying this tool to PostScript derivedfrom an
PDF file using pdf2ps (also from theghostscriptdistribution), or Acrobat Reader itself;
an alternative is pdftotext, which is distributed with xpdf.
Another avenue available to those with a PDF file they want to process is offered
by Adobe Acrobat (version 5 or later): you can tag the PDF file into an estructured
document, output thence to well-formed XHTML, and import the results into Microsoft
Word (2000 or later). From there, one may convert to (La)TeX using one of the
techniques discussed in “convertingtoandfrom(La)TeX ”.
The result will typically (at best) be poorly marked-up. Problems may also arise
from the oddity of typical TeX font encodings (notably those of the maths fonts), which
Acrobat doesn’t know how to map to its standard Unicode representation.
catdvi
:
dviware/catdvi
crudetype
:
dviware/crudetype
dvi2tty
:
dviware/dvi2tty
xpdf
: Browse
support/xpdf
105 Translating LaTeX to Plain TeX
Unfortunately, no “general”, simple, automatic process is likely to succeed at this task.
See “HowdoesLaTeXrelatetoPlainTeX” for further details.
Obviously, trivial documents will translate in a trivial way. Documents that use even
relatively simple things, such as labels and references, are likely to cause trouble (Plain
TeX doesn’t support labels). While graphics are in principle covered, by the Plain TeX
Translating a document designed to work with LaTeX into one that will work with
Plain TeX is likely to amount to carefully including (or otherwise re-implementing) all
those parts of LaTeX, beyond the provisions of Plain TeX, which the document uses.
Some of this work has (in a sense) been done, in the port of the LaTeX graphics
package toPlain TeX. However, while graphics is available, other complicated packages
(notablyhyperref) are not. The aspiring translator may find theEplainsystem a useful
source of code. (In fact, a light-weight system such as Eplain might reasonably be
adopted as analternative targetof translation, though it undoubtedly gives the user more
than the “bare minimum” that Plain TeX is designed to offer.)
The
eplain
system:
macros/eplain
’Plain TeX’
graphics
:
macros/plain/graphics
68
J Installing (La)TeX files
106 Installing things on a (La)TeX system
Installing (or replacing)things on your (La)TeX system has the potential to be rather
complicated; thefollowingquestions attempt to provide astep-by-stepapproach, starting
from the point where you’ve decided what it is that you want to install:
• You mustfindthefileyouneed;
• IfyouaregoingtoinstallaLaTeXpackage,youmayneedtounpackthedistributed
files;
• It may be necessary togeneratesomedocumentationtoread;
• You need todecidewheretoinstallthefiles;
• You must nowinstallthefiles; and finally
• You may need totidyup after the installation.
107 Finding packages to install
How didyou learn about the package?
If the information came from these FAQs, you should already have a link to the
file (there are lists of packages at the end of each answer). Click on one of the links
associated with the package, and you can get the package (which may be one file or
several).
If you heard about the file somewhere else, it’s possible that the source told you
where to look; if not, try the CTAN searching facilities, such as
http://www.tex.ac.
uk/search/
.That (rather simple) search engine can return data from a search of the
CTAN catalogue (which covers most useful packages), or data from a search of the
names of files on the archive.
Packages come in a variety of different styles of distribution; the very simplest will
actually offer just
package.sty
—in this case, just download the file andgetonwith
installation.
Youwillregularlyfindthatthe fileyouwant(e.g.,
foo.sty
)is distributedinaLaTeX
documented source file
foo.dtx
;thus you should search just for foo —
foo.sty
won’t
be visible anywhere on the archive or in the catalogue.
Since most packages are distributed in this
.dtx
/
.ins
way, they usually occupy
their own directory on the archive. Even if that directory contains other packages, you
should download everything in the directory: as often as not, packages grouped in this
way depend oneach other, so that you really need the other ones.
Having acquired the package distribution, “unpackingLaTeXpackages outlines
your next step.
108 Unpacking LaTeX packages
As discussedelsewhere, the ‘ordinary’ way to distribute a LaTeX package is as a pair
of files
package.dtx
and
package.ins
.If you’ve acquired such a pair, you simply
process
package.ins
with LaTeX, and the files will appear, readyfor installation.
Other sorts of provision should ordinarily be accompanied by a
README
file, telling
you what to do; we list a few example configurations.
Sometimes, a directory comes with a bunch of
.dtx
files, but fewer (often onlyone)
.ins
files (LaTeX itself comes looking like this). If there is more than one
.ins
file,
and in the absence of any instruction in the
README
file, simply process the
.ins
file(s)
one byone.
If you’re missing the
package.ins
altogether, you needto play around until some-
thing works. Some
.dtx
files are “self-extracting” — theydo without an
.ins
file, and
once you’ve processed the
package.dtx
,
package.sty
has automagically appeared.
Various other oddities may appear, but the archivists aim to have
README
file in every
package, which should document anything out of the ordinary with the distribution.
109 Generating package documentation
We are faced witha range of “normal”provision, as wellas several oddities. One should
note that documentation of many packages is available on CTAN, without the need of
69
any further effort by the user — suchdocumentation can usually be browsed in situ.
However, if you find a package that does not offer documentationon the archive, or
if you need the documentation in some other format than the archive offers, you can
usually generate the documentation yourself from what you downloadfrom the archive.
The standard mechanism, for LaTeX packages, is simply to run LaTeX on the
package.dtx
file, as you would any ordinary LaTeX file (i.e., repeatedly until the
warnings go away).
Avariant is that the unpacking process provides a file
package.drv
;if such a
thing appears, process it in preference to the
package.dtx
(it seems that when the
documented LaTeX source mechanism was first discussed, the
.drv
mechanism was
suggested, but it’s not widely used nowadays).
Sometimes, the LaTeX run will complain that it can’t find
package.ind
(the code
line index) and/or
package.gls
(the list of change records, notas you mightimagine, a
glossary). Both types of fileare processedwithspecialmakeindex style files;appropriate
commands are:
makeindex -s gind package
makeindex -s gglo -o package.gls package.glo
This author finds thatthe second (the change record) is generally of limited utilitywhen
reading package documentation; it is, however, valuable if you’re part of the package
development team. If you don’t feel you need it, just leave out that step
Another common (and reasonable) trick performed by package authors is to provide
aseparate file
package-doc.tex
or evensimply
manual.tex
;if the file
package.dtx
doesn’t help, simply look around for such alternatives. The files are treated in the same
way as any “ordinary” LaTeX file.
110 Installing files “where (La)TeXcan find them”
In the past, package documentation used always to tell you to put your files “where
LaTeX can find them”; this was always unhelpful — if you knew where that was, you
didn’t need telling, but if you didn’t know, you were completelystuck.
Itwas from this issue thatthewhole ideaof theTDS sprang;“where toput”questions
now come down to“where’s the TDS tree?”.
We therefore answer the question by considering:
• whattreetouse, and
• whereinthetreetoputthefiles.
Once we knowthe answer to both questions, and we’ve created any directories that
are needed, we simply copyfiles to their rightful location.
This has done what the old requirement specified: LaTeX (or whatever) can (in
principle) find the files. However, in order that the software will find the files, we need
to update an index file.
On a MiKTeX system, open the window
Start
!
All Programs
!
MiKTeX
h
version
i!
Settings
, and click on
Refresh FNDB
. The job may also be done
in a command window, using the command:
initexmf --update-fndb
TheMiKTeXdocumentationgives further details about
initexmf
.
On a TeX Live-based system (or its predecessor teTeX, use the command
texhash
(or if that’s not available,
mktexlsr
—they ought to be different names for the same
program).
Having done all this, the new package will be available for use.
111 Which tree to use
In almost all cases, new material that you install shouldgo into the “local” tree of your
(La)TeX installation. (A discussion of reasons not to use the local tree appears below.)
Ona Unix(-alike) system, using TeX Live or teTeX, the rootdirectorywill be named
something like
/usr/share/texmf-local/
or
/usr/local/share/texmf/
You can
ask such a system where it believes a local tree should be:
70
Documents you may be interested
Documents you may be interested