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 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348
|
@c $Id: packages.texi,v 15.0 2001/11/20 20:05:31 raman Exp $
@node Emacs Packages
@chapter Emacs Packages.
Emacs -- The extensible, self-documenting editor, derives its
functionality from its powerful extension mechnaism. This extension
mechanism is used to implement many user-level applications such as mail
readers, WWW browsers, software development environments and so on.
This chapter gives directions on how to locate the right Emacs package
for addressing specific tasks. The chapter is organized into logical
sections that each pertain to a specific class of tasks; in dividual
subsections within a section give a brief overview of particular Emacs
packages that have been speech-enabled.
@menu
* Document Authoring:: Document Authoring
* Structured Editing:: Structured Editing
* Browsing Structure :: Browsing Structure
* Messaging :: Messaging
* Editting Program Source:: Editting Program Source
* Development Environment:: Development Environment
* Desktop Management:: Desktop Management
* Personal Information Management:: Personal Information Management
* Desktop Applications:: Desktop Applications
@end menu
@include documents.texi
@include structure.texi
@node Browsing Structure
@section Browsing Structured Information
This section describes packages that allow you to browse structured
information --these are distinct from the
tools described in @xref{Structured Editing},
in that they are typically
used for working with content that is read-only e.g., online
documentation.
@c emacspeak-w3.el
@c emacspeak-info.el
@c emacspeak-man.el
@c emacspeak-table-ui.el
@c emacspeak-table.el
@c emacspeak-tabulate.el
@c emacspeak-view.el
@node Messaging
@section Electronic Messaging Applications
Working with messaging applications involves both authoring and browsing
content.
Emacspeak provides a rich set of speech-enabled messaging tools.
Further, all of the tools described in the previous sections
integrate smoothly with the messaging applications described here; this
means that you do not need to re-learn a new set of
work habits when dealing with content in your messaging application.
@c emacspeak-bbdb.el
@c emacspeak-gnus.el
@c emacspeak-message.el
@c emacspeak-rmail.el
@c emacspeak-vm.el
@c emacspeak-supercite.el
@c emacspeak-mspools.el
@node Editting Program Source
@section Editting Program Source Code
Files containing program source code form a very specific class of
@b{structured} documents.
Unlike documents meant for human consumption that are often only loosely
structured, program source
(as a concession to the computer's intolerance of lack of structure)
are per force well-structured and adhere to a fairly stringent syntax.
The Emacs environment provides editting modes that are specific to
creating and maintaining software written in
most popular programming languages. Many of these editting modes are
speech-enabled by Emacspeak.
Speech-enabling these modes includes providing
a rich set of navigational commands that allow you to move
through the source efficiently. In addition, Emacspeak's core
@b{voice-lock} facilities are used to produce audio formatted output
--this helps you spot errors quickly.
@c emacspeak-c.el
@c emacspeak-perl.el
@c emacspeak-tcl.el
@c emacspeak-python.el
@c emacspeak-jde.el
@c emacspeak-make-mode.el
@c emacspeak-sql.el
@node Development Environment
@section Software Development Environment
In addition to providing specialized editting modes for creating and
maintaining program source,
Emacs provides a rich set of software development tools that can be
combined to create powerful Integrated Development Environments (IDE).
These IDEs are speech-enabled by Emacspeak to provide a versatile and
powerful environment for eyes-free software development.
@c emacspeak-compile.el
@c emacspeak-ediff.el
@c emacspeak-gud.el
@c emacspeak-oo-browser.el
@c emacspeak-jde.el
@c emacspeak-jde-help.el
@c emacspeak-speedbar.el
@c emacspeak-imenu.el
@node Desktop Management
@section Desktop Management
Emacs provides an integrated environment for performing all of ones
day-to-day computing tasks ranging from electronic messaging to software
development.
The environment derives its power from the fact that
this integration allows for content to be handled across different tasks
in a seamless manner.
In order to work effectively with large Emacs sessions with many
documents and applications open at the same time, the Emacspeak desktop
provides
a powerful collection of desktop management tools designed to help the
user easily locate objects that pertain to a given task.
@c emacspeak-buff-sel.el
@c emacspeak-buff-menu.el
@c emacspeak-dired.el
@c emacspeak-view-process.el
@c emacspeak-tar.el
@c emacspeak-arc.el
@c emacspeak-bookmark.el
@c emacspeak-custom.el
@c emacspeak-winring.el
@c emacspeak-finder.el
@node Personal Information Management
@section Personal Information Management
This section describes speech-enabled tools designed to aid in personal
information management such as maintaining a daily calendar.
@c emacspeak-calendar.el
@c emacspeak-hyperbole.el
@c emacspeak-wrolo.el
@c emacspeak-bbdb.el
@c emacspeak-bookmark.el
@node Desktop Applications
@section Desktop Applications
@subsection Spread Sheets
Spreadsheet applications present a two dimensional view of structured data
where the field values are (possibly) mutually dependent. On the Emacspeak
desktop, a speech-enabled spreadsheet application can be used to manipulate
such data-driven documents%
ranging from simple cheque books and expense
reports to complex investment portfolios. Where the traditional visual
interface to spreadsheets is typically independent of the semantics of the
data stored in the spreadsheet, the speech-enabled interface is derived from
the @emph{ meaning} of the various fields making up the data. When presenting such
information on a visual display, implicit visual
layout can be used to cue the user to the meaning of different data fields.
On the other hand, in the case of an actively scrolling auditory display, the
spoken output needs to explicitly convey both the value and interpretation of
the different data items. In addition, the interface needs to enable an
active dialogue between user and application where the user is able to query
the system about the possible meaning of a particular item of data. Finally,
the aural interface needs to enable @emph{ multiple} views of the display.
In the visual interface, such @emph{ multiple} views are automatically
enabled by the two dimensional layout combined with the eye's ability to move
rapidly around the layout structure. Thus, while viewing any particular row
of a portfolio, one can immediately see the current total value as well as
the net gain or loss.
The Emacs spread-sheet package @code{dismal} can be retrieved from
@code{ftp://cs.nyu.edu/pub/local/fox/dismal}.
@subsection Forms Mode
@emph{ Forms} mode an Emacs mode designed to edit structured data
records like the line shown from file @code{ /etc/passwd} presents a
user-friendly visual interface that displays the field name along with the field
value. The user can edit the field value and save the file, at which point
the data is written out using the underlying @code{ :} delimited
representation. Mode @emph{ forms} provides a flexible interface to
associating meaning to the fields of such structured data files.
For details on it use, see the forms-mode section of the online Emacs
info documentation.
@subsection OCR --Reading Print Documents
Module @code{emacspeak-ocr} implements an OCR front-end for the
Emacspeak desktop.
Page image is acquired using tools from package @code{SANE} (Scanner
Access Now Easy). The acquired image is run through the OCR engine if
one is available, and the results placed in a buffer that is suitable
for browsing the results. This buffer is placed in mode
@code{emacspeak-ocr-mode} a specialized mode for reading and scanning
documents.
@subsubsection Emacspeak OCR Mode
Emacspeak OCR mode is a special major mode for document scanning and
OCR.
Pre-requisites:
@itemize @bullet
@item A working scanner back-end like SANE on Linux.
@item An OCR engine.
@end itemize
Make sure your scanner back-end works, and that you have the utilities
to scan a document and acquire an image as a tiff file. Then set
variable @var{emacspeak-ocr-scan-image-program} to point at this
utility. By default, this is set to `scanimage' which is the image
scanning utility provided by SANE.
By default, this front-end attempts to compress the acquired
tiff image; make sure you have a utility like @code{tiffcp}.
Variable @var{emacspeak-ocr-compress-image} is set to `tiffcp' by
default; if you use something else, you should customize
this variable.
Next, make sure you have an OCR engine installed and working. By
default this front-end assumes that OCR is available as @code{/usr/bin/ocr}.
Once you have ensured that acquiring an image and applying
OCR to it work independently of Emacs, you can use this
Emacspeak front-end to enable easy OCR access from within
Emacspeak.
The Emacspeak OCR front-end is launched by command @dfn{emacspeak-ocr} bound
to @kbd{C-e C-o}.
This command switches to a special buffer that has OCR
commands bounds to single keystrokes-- see the ke-binding
list at the end of this description. Use Emacs online help
facility to look up help on these commands.
Mode @dfn{emacspeak-ocr-mode} provides the necessary functionality to
scan, OCR, read and save documents. By default, scanned
images and the resulting text are saved under directory
@code{~/ocr}; see variable @var{emacspeak-ocr-working-directory}.
Invoking command @dfn{emacspeak-ocr-open-working-directory} bound
to @kbd{d} will open this directory.
By default, the document being scanned is named `untitled'.
You can name the document by using command
@dfn{emacspeak-ocr-name-document} bound to
@kbd{n}. The document name is used
in constructing the name of the image and text files.
Here is a list of all emacspeak OCR commands along with their
key-bindings and a brief description:
@table @kbd
@item @kbd{digit}
@dfn{emacspeak-ocr-page}
Jumps to specified page in the OCR output.
@item @kbd{c}
@dfn{emacspeak-ocr-set-compress-image-options}
Interactively update image compression options.
Prompts with current setting in the minibuffer.
Setting persists for current Emacs session.
@item @kbd{i}
@dfn{emacspeak-ocr-set-scan-image-options}
Interactively update scan image options.
Prompts with current setting in the minibuffer.
Setting persists for current Emacs session.
@item @kbd{spc}
@dfn{emacspeak-ocr-read-current-page}
Speaks current page.
@item @kbd{s}
@dfn{emacspeak-ocr-save-current-page}
Saves current page as a text file.
@item @kbd{p}
@dfn{emacspeak-ocr-page}
Prompts for a page number and moves to the specified page.
@item @kbd{]}
@dfn{emacspeak-ocr-forward-page}
Move forward to the next page.
@item @kbd{[}
@dfn{emacspeak-ocr-backward-page}
Move back to the previous page.
@item @kbd{d}
@dfn{emacspeak-ocr-open-working-directory}
Open directory containing the results of OCR.
@item @kbd{n}
@dfn{emacspeak-ocr-name-document}
Name current document.
@item @kbd{o}
@dfn{emacspeak-ocr-recognize-image}
Launch OCR engine on a scanned image.
@item @kbd{i}
@dfn{emacspeak-ocr-scan-image}
Acquire an image using @code{scanimage}.
@item @kbd{RET}
@dfn{emacspeak-ocr-scan-and-recognize}
Scan and recognize a page.
@item @kbd{w}
@dfn{emacspeak-ocr-write-document}
Write all pages of current document to a text file.
@item @kbd{q}
@dfn{bury-buffer}
Bury the OCR buffer.
@item @kbd{c}
@dfn{emacspeak-ocr-customize}
Customize Emacspeak OCR settings.
@item @kbd{?}
@dfn{describe-mode}
Describe OCR mode.
@end table
@c emacspeak-calc.el
@c emacspeak-dismal.el
@c emacspeak-remote.el
@c emacspeak-entertain.el
|