Lyx is a quasi-WYSIWYG
document processor that
‘combines the power and flexibility of TeX/LaTeX with
the ease of use of a graphical interface’
TeXworks is a
cross-platform ‘simple TeX front-end program’
based on Qt. It is a non-WYSIWYG editor
and has an integrated PDF viewer with
source/preview synchronization.
Kile is a non-WYSIWYG
TeX/LaTeX editor.
Its native support under Windows is 'experimental' (as of 2010 Dec 5).
It's not in Cygwin, apparently because it's based on KDE.
It is
apparently available under Windows using
andLinux.
MiKTeX is an implementation of TeX
and related programs for Windows. It includes a package-management
system, and supports a smooth edit-compile-view cycle (e.g.,
TeXworks with pdfLaTeX+MakeIndex+BibTeX). (The package manager, MPM,
and a version of pdfTeX integrated with MPM, MiKTeX-pdfTeX, have
been ported to Linux.) MiKTeX includes the IEEEtran class but does
not include the IEEEtrantools package; to use it for compiling
The not so Short Introduction to LaTeX, I downloaded
IEEEtrantools.sty, saved it in
C:\Users\username\Local TeX Files\tex\latex\misc\IEEEtrantools
, and did Start ▶ Programs ▶
MiKTeX 2.9 ▶ Maintenance ▶ Settings, selected
the Roots tab, and added
C:\Users\username\Local TeX Files to the list
of registered root directories
(cf.
Integrating Local Additions in the MiKTeX manual.
Bibliographies: ‘… natbib is going to be obsolete.
The new, all-including package for bibliographies will be biblatex
(with its companion biber to replace
the already obsolete bibtex).’ [
ref, 2010 Oct 8]
‘Instead of being implemented in BibTeX's style files,
the formatting of the bibliography is entirely controlled
by TeX macros.’ [ref]
Biber
is a replacement for BibTeX for use with BibLaTeX and is invoked
with the option backend=biber.
\documentclass[11pt]{article}
\usepackage{beamerarticle}
or
\documentclass[ignorenonframetext]{beamer}
⋮
\ifcsname beamer@author\endcsname
\else
\geometry{letterpaper}
\geometry{margin=1in}
\fi
⋮
\ifcsname beamer@author\endcsname
\author[R. Funnell]{W. Robert J. Funnell}
\else
\author{W. Robert J. Funnell}
\fi
To make an accompanying document, switch between
(1) class beamer and
(2) class article with package
beamerarticle
[Ref].
One can make the switch either by using two small wrapper files
or by alternately commenting out one or the other
documentclass command.
To specify different commands depending on whether an article
or a presentation is being generated, one can detect the class by
checking for functionality of the class
[Ref]
XeTeX is an alternative
to LaTeX that supports a broad range of languages and fonts. It
has built-in support for Unicode and OpenType.
AUCTeX for
editing LaTeX in Emacs.
AUCTeX is written in Emacs Lisp.
It is very nice for a habitual Emacs user. The only irritations so far
are:
On my Linux machine, when I use ^C ^C to compile
and then view,
it starts a new viewer each time instead of using the already-active
viewer with its position on the screen and position within the document.
With my Windows MiKTeX installation, it works nicely with Yap as
the dvi viewer.
It doesn't seem to know about definition lists (dl,
dt, dd).
It puts the code and /code tags
on separate lines when I do
^C ^T code
TrackChanges
‘is a package for collaboratively editing LaTeX documents’.
It includes a LaTeX style file defining commands for indicating
additions, deletions and comments, and a Python-based GUI for
accepting, rejecting and changing edits. There's also
the package
changes, which I haven't tried.
I defined
auto-completion for the commands
in c:\Documents and Settings\username\Local Settings\Application Data\MiKTeX\2.9\TeXworks\completion\trackchanges.txt
(shown at right).
This helps a bit to streamline its use, but doesn't
work unless the cursor is positioned in front of white space,
and doesn't help with putting existing text within the curly brackets.
(It might be reasonable to consider using something like Emacs' own
(1) annot.el or
(2) built-in
Version Control.)
;LATEX TRACK-CHANGES COMMANDS
;============================
;
(defun fun-add ()
; ---
"Insert a LaTeX track-changes \add[]{} command."
(interactive)
(insert "\\add[")
(insert fun-tc-initials)
(insert "\]{}")
(backward-char))
;
(defun fun-remove ()
; ------
"Insert a LaTeX track-changes \remove[]{old} command."
(interactive)
(if (not mark-active)
(set-mark (point))) ;make mark active to avoid error msg
(cond ((< (mark) (point))
(exchange-point-and-mark))) ;be sure point <= mark
(insert "\\remove[")
(insert fun-tc-initials)
(insert "\]{")
(cond ((> (mark) (point))
(exchange-point-and-mark))) ;be sure point >= mark
(insert "}"))
;
(defun fun-change ()
; ------
"Insert a LaTeX track-changes \change[]{old}{} command."
(interactive)
(if (not mark-active)
(set-mark (point))) ;make mark active to avoid error msg
(cond ((< (mark) (point))
(exchange-point-and-mark))) ;be sure point <= mark
(insert "\\change[")
(insert fun-tc-initials)
(insert "\]{")
(cond ((> (mark) (point))
(exchange-point-and-mark))) ;be sure point >= mark
(insert "}{}")
(backward-char))
;
;(defun fun-note ()
; ----
; "Insert a LaTeX track-changes \note[]{} command."
; (interactive)
; (insert "\\note[")
; (insert fun-tc-initials)
; (insert "\]{}")
; (backward-char))
;
(defun fun-note ()
; ----
"Insert a LaTeX track-changes \note[]{} or \annote[]{text}{} command."
(interactive)
(if (not mark-active)
(set-mark (point))) ;make mark active to avoid error msg
(cond ((< (mark) (point))
(exchange-point-and-mark))) ;be sure point <= mark
(if (= (mark) (point)) ;if empty region
(progn ; use \note
(insert "\\note[")
(insert fun-tc-initials)
(insert "\]{}"))
(progn ;otherwise non-empty region
(insert "\\annote[") ; use \annote
(insert fun-tc-initials)
(insert "\]{")
(cond ((> (mark) (point))
(exchange-point-and-mark))) ;be sure point >= mark
(insert "}{}")))
(backward-char))
;
;Do key bindings for track-changes functions
; Use \C-v as prefix, assume that it has been unset in html-ins.el
;
(global-set-key "\C-va" 'fun-add) ;a to add
(global-set-key "\C-vr" 'fun-remove) ;r to remove
(global-set-key "\C-vc" 'fun-change) ;c to change
(global-set-key "\C-vn" 'fun-note) ;n to note
;(global-set-key "\C-va" 'fun-annote) ;a to annote
;\C-a to accept change
;\C-r to reject change
;
I've defined functions and key bindings for use
in Emacs/AUCTeX. The editors' initials are defined in the
variable fun-tc-initials in their
respective .emacs files.
Remaining tasks:
implement functions for accepting and rejecting changes
perhaps implement something to insert \usepackage and
\addeditor{}
GNU TeXmacs by
Joris van der Hoeven: a multiplatform, GPL, WYSIWYG
editor that acts like a hybrid between LaTeX and Emacs but is
apparently not actually based on either of them.
‘Converters exist for TeX/LaTeX and Html/Mathml’
although they are admittedly not perfect.
As of 2011 Jan 2, the latest ‘stable’ version is
1.0.7 dated 2008 Oct 16, but the actual latest
version is 1.0.7.9 dated 2010 Dec 17.
tufte-latex,
‘A Tufte-inspired LaTeX class for producing handouts, papers,
and books’
Font sizes: ‘The standard Latex classes (article, report etc)
support ten, eleven and twelve point text.’ (from the README
file for the
extsizes classes, which permit the use of font sizes
8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, and 20pt.
The
KOMA-script classes provide additional flexibility with the
fontsize= option.
M. Doob's
Gentle Introduction (PDF, iv+91 pp.). Dated 1993;
description of actual usage of TeX is for an batch-oriented
mainframe system. plain TeX and
LaTeX are mentioned briefly in §9.2.