Simon's Win32 Cheat Sheet
This sheet summarises all the things I do to make my Win2k
machine more useful to me. I've summarised it here partly
for my own benefit (I have to repeat the process on each new
machine) and partly in the hope that it may be be of use to others.
Please tell me, simonpj@microsoft.com,
if there are things you find useful that aren't mentioned here.
Please note: this page is MIRRORED on chaz.nyc/chazhome.com for preservation
purposes and some changes have been made to ensure it is current.
I have a Win2k Machine, but I've added possibly-inaccurate notes about
Win95 too. In general, Win95/Win98 behave the same, and WinNT/Win2k
behave the same.
Acknowledgements. Many thanks to Sigbjorn Finne and Luca Cardelli, from whom
much of the enclosed advice comes.
General setup and user interface
Much of the Unix-y stuff below involves you setting your
environment variables. For example, on WinNT/Win2k,
to edit your PATH variable,
do the following:
Some environment variables are "user variables" and
some are "system variables". I'm not sure of the difference
but both are changed though the same dialogue.
In addition, when running a Cygwin (see below) shell
you can set environment variables in your .bashrc file.
But it is better to set your environment variables from the
control panel (they get inherited by bash) because then they are visible
to applications that aren't started by bash. For example,
when you're invoking CVS (and ssh) via Emacs keybindings;
it invokes cvs.exe without going via bash.
On a Win9x machine you need to edit autoexec.bat using
Windows/system/Sysedit. You need to reboot to make
the new settings take effect.
When I'm using emacs I need to use the Ctrl key a lot.
It's very inconveniently placed on the Windows keyboard. A much
better plan is to make the Caps-lock key (which is much better placed)
into a duplicate of the Ctrl key. You lose Caps-lock, but who cares?
I know of two ways to do this (below).
Alternatively Luca recommends the
Happy Hacking keyboard. No caps-lock at all.
Ctrl2Cap
Here is a utility that does the job:
http://www.sysinternals.com/ntw2k/source/ctrl2cap.shtml
I've been using it for some years.
NOTE: the distributed version of Ctrl2Cap (2.0) works fine with
Windows XP. About a year ago I had a lot of trouble with version 2.0
on my then-Windows-2000 machine. I fiddled about for ages, and
contacted the author. Nothing worked. Fortunately, I had a previous
version still around, and that does work. Well, it did for me.
Here it is. Use only if
desperate.
Erling Alf Ellingsen told me that an easier way to achieve the same effect is by
altering the key mapping in the Windows Registry.
Here's caps.reg a little registry file that
makes the alteration. You can install it just by double-clicking it.
(See notes about .reg files.) Then restart your machine
to make the change take effect.
Here's
what caps.reg contains:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
Erling writes: "Breaking it down:
00 00 00 00 ("version", should be 0)
00 00 00 00 ("flags", should be 0)
02 00 00 00 (number of key maps)
1d 00 3a 00 (map scan code 1D to scan code 3A)
00 00 00 00 (blank key map)
If my memory serves me, 0x1D is the left ctrl key, and 0x3A is Caps Lock."
I have tested this solution and it seems to work. Strange though; if
it's so easy, why do SysInternals have a special utility?
[This one is relevant for Outlook only, and even then I think it's specific to Outlook XP.]
When you type someone's name in the "To" field of a message, Outlook tries to figure
out who you mean. It can look in more than one address book, and its essential that
it looks in your own Contacts first, else it'll auto-complete to some random person
in the global address list (which in my company is pretty big). It won't even flag
a "not-sure"; it just auto-completes to the wrong person.
It's easy to make it look in your Contacts list first, once you know how,
but it's devilish hard to find out how. Here's what to do.
- Select "Tools/Address Book...".
- In the new window, select "Tools/Options...".
- In the lower pane select "Contacts", and use the up-arrow button beside the pane
to move "Contacts" up to the top.
Luca Cardelli's home page
has a couple of nice fonts available under "Mac/PC resources".
In particular, his LICS font has a menagerie of useful mathematical
symbols that aren't available in any standard font.
To install a new font, just drag it into C:/WINNT/Fonts.
You don't even need to reboot.
It has happened to me, both at home and at work, that my computer
would boot up with NumLock on. (This makes it puzzling when you try to type
the password to log on...). This setting somehow gets embedded in the
guts of the boot process, for unknown reasons.
To fix it, add the line (found in the Microsoft Knowledge Base):
NUMLOCK=OFF
at the end of your C:\config.sys.
Num lock will still turn on at the beginning of booting, but will turn off again before the end of booting.
(This works for Win98; I don't know if it
works for Win2k.)
Power users apparently all know about
TweakUI,
a control panel that lets you alter aspects of the Windows user interface. The
ones I like are:
- File-name completion in the cmd shell.
- Stopping popup windows stealing focus, so that your input goes
to the new window.
You can also arrange that moving the mouse over a window changes focus,
more like X-windows.
On my laptop, a background process MDM.exe used to appear,
which seemed to cause hundreds of page faults a second even when I was doing
absolutely nothing. Since I use my machine a lot for compiling, I reckoned
I could do without it.
MDM is the Machine Debug Manager, and it is installed with Internet
Explorer. Like me, you probably don't need it. Here is how to tun it
off/disable it. Go to the Control Panels and click Internet
Options. Click on the Advanced tab and check the box 'diable script
debugging'. This should stop it appearing.
Using Internet Explorer, I often follow a link to someone's paper, with
a filename like foo.ps.gz. In response to the popup box, I
click on "Open this file from its current location"; zip files can't hurt
you (I belive). IE downloads the zip file, and WinZip starts up
automatically, which is all very wonderful. But alas, the file it
displays is called foo.ps[1], rather than foo.ps,
so I can't double-click on it in the WinZip window. I have no idea where
the pesky "[1]" comes from.
The slow solution is to extract the file, rename it, and then double-click on it.
Less slow is to right-click on it in the WinZip window, select "View...", and then
select gsview as your viewer.
But the best (albeit hackish) solution is to tell Windows that ".ps[1]" is
a suffix meaning "here's a Postscript file; run gsview". It's easily done.
In an file browser window select "Tools/Folder Options" and click the "File Types" tab.
Click "New". In the new dialogue window
type "ps[1]" as the new file extension. In the same window, click "Advanced",
and select "Postscript" from the huge list you are offered.
Now do the same for "ps[2]", "ps[3]". (I've never needed more.)
Windows now comes with Remote Desktop built-in, which lets you display your
windows desktop on another (Windows) machine.
Some time ago, a couple of people told me that VNC is a wonderful thing:
https://www.comparitech.com/vpn/what-is-a-vnc-and-how-does-it-differ-from-a-vpn/.
It lets you display your windows desktop on a Unix machine or Mac, and vice versa.
However I'm also told that it has a "general utter lack of
security", so that running it may expose you to all sorts of bad things. Don't blame me!
[If you use the TweakUI thing above, you don't need this.]
When you are typing commands to the standard cmd shell, filename completion
doesn't work by default. Here's how to switch it on (thanks to
Alex Buckley for this).
- Run regedit.exe (Start/Run..; then type regedit).
- Search for "completionchar" (it's under
HKEY_CURRENT_USER\Software\Microsoft\Command Processor; ignore the one
that's under HKEY_USERS).
- Change its value from 0 to 9 (ASCII code for Tab). You can do this
by right-click/Modify on "completionchar".
Instead of this rigmarole, you can just double-click this complete.reg,
which makes the above change to the registry. See notes about .reg files.
The next command processor (cmd.exe) you
run will perform tabbed filename completion. Tab completes the first filename with
the given prefix; subsequent tabs cycle through the filenames with that prefix.
This doesn't work in Win95/8 because they only have the old command.com
available as a command processor.
Your "profile" is stored in WINNT/Profiles/<your-user-name>.
If you have a roaming profile, like I do, some of this stuff gets copied to the
main server when you log out, and sucked down when you log in, so it's desirable
that it's not too big. In particular:
On the other hand:
Having a roaming profile on a laptop is a Bad Idea in my view. First,
there's a danger that you'll get stuck on a dialup line dragging down
a big profile. (Mind you, since you have to log in before you can
dial up, this is unlikely to happen. But it can be awkward if you are
connected when you log in, but then you disconnect later.) More
important, with a roaming profile you share settings of your
environment variables, such as $HOME. So then emacs (for example)
will look for a .emacsrc file that isn't available when you are
disconnected from the network.
You can change whether you have a roaming or local profile thus:
My Computer/Properties/Advanced/User Profiles Settings/Change Type/Local.
Changing this setting affects only the computer you change it on.
A single account can have a roaming profile on one computer and a local
profile on another.
Windows has many marvellous ways
of changing what programs are run at startup time; e.g. what programs
end up in your "system tray". I could never work out how to get rid
of them, until Sigbjorn told me:
msconfig works on Windows XP too, but I've not used it in
anger.
For a long time I was frustrated because I could
not persuade my desktop PC to switch off the monitor as
it is supposed to. (Doing so saves a lot of power overnight,
and all screens come with "Energy Star" stuff designed just
for this purpose. It also extends the life of the cathode ray tube
by turning off its electron-emitting heater filament.)
The problem turned out to be Exceed (at least in V7.0). Exceed is an
X server that lets you display X windows on your machine. In its
default configuration, Exceed prevents the screen switching off. To
fix this:
I am fortunate enough to use a printer with a stapler, but it took
me ages to discover how to make it staple by default.
The same trick works for various other printer settings.
What is particularly exiciting is that you have to make the same change
in two places in the printer properties. If you only do it in one,
it works for a few weeks, and then stops working. Don't ask me why, but it does.
Here's how to change the default behaviour:
In general, any settings you make here should be the default for all
future printing on that printer.
You can also do this on a case-by-case basis. When you are about to print your document:
The properties change only for this one document, but they do seem to persist across
successive printing of the same document from the same application.
Your printer may have multiple paper trays, one loaded with headed paper. When printing
a letter, you only want the first page to come from this tray. Here's how to achieve this
glorious outcome.
Select "File/ Print..", choose your printer etc, then click the "Properties" button
(top RH corner). Click "Advanced...". Find the bit that says "First page different",
and open it up (click the "+" sign). Change the setting to "Enabled" and pick the
media type. The latter step selects which paper try the printer will use, but
unhelpfully in my set-up the "media type" setttings are things like "pre-printed" and "labels"
rather than "Tray 1" , "Tray 2", etc. Quite how it knows which tray has pre-printed
sheets is beyond me. I use trial and error to find the mapping.
I occasionally come across a file with an extension (suffix) I don't recognise.
There are quite a few web sites with a comprehensive list of what
file extensions mean, but I didn't find them easy to find. Here are the ones
I know about.
Adobe Acrobat is the standard reader for PDF, but it starts up really slowly
because it loads a bazillion plug-ins. You can trim the plug-ins, and hence greatly
speed up start up as follows:
Thanks to Ulfar Erlingsson for this tip.
If you are like me your hard disk is pretty full.
A simple change in settings can save you almost 10% of your hard drive.
By default, Windows XP reserves 12% of the hard drive for something
called restore points. These can be used to restore the system to a
previous situation if you mess up the system with some install or
other changes. This 12% can get used pretty fast when you install a lot of software.
And 12% of your disk is a lot: 28GB drive * 12% = 3.36GB.
You can reserve less space, and so free up a lot. The downside is
that you will not be able to restore the system to 10 restore points
ago. I for one never used this options anyhow, so restoring just a few
points back is plenty for me.
Don't forget to check the available space before and after you do it.
I often disconnect my laptop, which runs Windows 2000,
from the network to move it around. When I do this I only suspend it;
I don't log off or power down. The trouble is that often when I reconnect,
the little green light on the connector comes on, but the network connection
doesn't work at all.
By trial and error, I've found a series of actions that usually fixes the
problem. I used to reboot the machine, which was time-consuming, and often
didn't help. But these steps seem to do the trick; don't ask me why.
Try them in this order: they are arranged in order of increasing
brutality and time-consuming-ness.
- Step 1: jiggle your DHCP connections. DHCP
is the magic by which your laptop gets an IP address from the LAN
it is connected to. After a while, especially if you have disconnected,
you may need to force your machine to re-negotiate its IP
address with the DHCP server. This is essential (and
reasonable) if you are plugging into a different network than the one
you unplugged from, especially if you did the unpluggery while the machine
was suspended (so it didn't notice). Even if you are reconnecting with
the same network that you left, your DHCP "lease" might have expired,
in which case renegotiation is required.
Here's how to do it:
You can see how many network interfaces you have running with
"ipconfig /all" , and you can tell it to release or
renew a specific interface by putting it's name at the end,
like "ipconfig /renew ethernet".
Sometimes you don't need the "release" step, but it can't hurt.
- Step 2: make sure your proxy settings are right.
If you are inside a corporate network, the external Internet is probably
accessible only through a proxy server.
There seem to be two sorts
of proxy servers: HTTP proxy stuff and Winsock proxy stuff.
Internet
Explorer definitely uses the former. SSH definitely uses the
latter. You identify your proxy server for these two in
entirely different ways, and the two servers don't need to be the same.
So you have to do this:
If you are outside a corporate network, your proxy server is probably
inaccessible, so you need to un-check both of these settings. (Fortunately,
doing so doesn't lose the name of the proxy server, so re-enabling is easy.)
- Step 3: wiggle the Winsock proxy client.
(Do this only if you are using a proxy.) Sometimes the Winsock proxy
stuff seems to get hung up.
To wake up you Winsock proxy, do this:
With a bit of luck it'll say "Refresh operation completed successfully".
Click "OK". It offers to restart Windows. Don't; I have not found it
to be necessary.
Just because you get "Refresh operation completed successfully" doesn't
mean that the proxy server is offering Winsock proxy service. The only
way I know to find out whether it really is doing so is to
run "ssh -v machine-name" from a cmd shell,
where machine-name is the name of some machine outside your
firewall. If ssh gets stuck and hangs, the Winsock proxy isn't
working. If it gets through to the end and either logs you in, or
says "Aborted by user", you're ok.
If you aren't ok, you have to try a different proxy server; type its
name into the WSP client box and try "Update now" again.
- Step 4: re-enable the network card.
Open "Start/Settings/Control Panel/Network and Dialup Connections".
Right-click "Local Area Connection", and select "Disable". Wait till the
control panel window shows it disabled. Now right-click and select "Enable".
If the control panel window doesn't show it disabled, try Step 4.
I'm really not sure what this step does, if anything.
- Step 5: reconfigure the device (if all else fails).
In the "Network and Dialup Connections" window (from Step 4), right-click on
"Local Area Connection" and select Properties. In the window that pops
up, at the top is a "Connect using..." panel, with a button called "Configure".
Press it.
A device window appears. If it says "device working properly" then
Step 5 isn't going to help. But I often find it says something else
(like "disabled"). If so, press the "Reconfigure" button (I think).
Then press "Next" and with a bit of luck the device will get reset.
After this I invariably find that Step 3 is required.
That's it! Usually works for me. Thanks to Richard Black and Julian Melville.
Open a folder in a new window, without replacing the current
window, even though you have set
View/FolderOptions/Settings/OpenEachFolderInSameWindow:
just hold down the control key while you double-click. If you
are using Active Desktop (i.e. single click), you need to
Left-Mouse-Press on the folder, then press the control key,
then release the mouse button, then release the control key.
If something bad happens to your Personal Folders, Outlook may
put up a box saying "Exit all mail-enabled applications and run
the Inbox Repair Tool". I couldn't find the "Inbox Repair Tool"!
It turns out that it's a program called Scanpst.exe,
which I found using the "Find files and folders" search engine.
(It was deeply buried in Program Files/Common Files/System/....)
The name "Inbox Repair Tool" seems to be a misnomer: it'll repair
your personal.pst file too.
Capturing a screenshot is especially useful when reporting a bug
where the alert box, or whatever, doesn't support cut and paste.
A good screen-shot utility is
Capture. It
captures screenshots into .bmp files, as well as to the clipboard. Thanks to Ron Kaminsky for the pointer.
When using an editor like Word or Outlook,
have you ever tried to put the insertion point into the middle of an
underlined-in-blue URL, so that you can edit it?
If you just click in the URL, Word or Outlook will try to follow the (probably bogus) URL,
which is hardly what you wanted.
Fortunately, someone at Microsoft thought of that:
just hold down Ctrl while you click. Took me ages to discover this.
You can defragment your disk from a cmd shell simply by typing
defrag c:
Defragmenting can significantly improve the speed of some things
(e.g. running a compiler).
Someone told me that if you carry on working while the defrag process
is running, it continually restarts from scratch, so didn't make any
progress. But this didn't happen for me. It just clunks away happily
in the background.
Here's how to do this as a scheduled task so it happens overnight.
Create a batch-file, e.g. defragall.bat and put in into a
directory in your path. The batch-file looks like this:
@echo off
defrag c:
defrag d:
defrag ...
Now, go to "Start/Programs/Accessories/System Tools/Scheduled Tasks".
Add scheduled task and point it to the batch file. Set up the time etc to
whatever you want. (Thanks to Mark Oude Alink for this.)
It occasionally happens that I click on a link in Explorer, and the
Explorer window locks up entirely. The hour-glass appears, and the
window will do nothing, ever again. (Pressing Stop etc has no effect.
The wavy flag does not wave.) It's as if it has gone into an infinite
loop.
The only way out is to kill Explorer from the Task Manager. Alas, that
kills my desktop too, so the Start button and taskbar disappear. One
way to solve this is to log out and back in again, but you don't need
to do that: here's how to restart your dekstop.
Do a Ctrl+Alt+Delete, go into Task Manager, then ensure that the
'Applications' tab is selected and then press 'New task'.
Type 'explorer' and yey presto, your desktop reappears.
Double-clicking a ".reg" file makes a change to the registry (it asks for confirmation first).
That's an alarming thing to do. Here are a couple of things that make it less worrying:
I often want to print program listings. The prfile utility
is rather like the Unix a2ps; it formats Ascii listings for
printing, adding titles, frames, and putting 2 or more pages on one sheet.
http://hem.passagen.se/ptlerup/prfile.html
I sometimes want to know how much space a folder takes. Right-click/Properties
does the job for a single folder but the free TreeSize utility displays a nice
tree with all the folder sizes filled in.
http://www.jam-software.com/index.html
You can read a 1.44Mb Macintosh floppy disc directly on your PC,
if you have the right software. (The 800kb kind need different hardware.)
-
The best site I found to look for software on the net for this
was http://www.zdnet.com/.
The search string "read +floppy +mac"
found me four programs; none were free, but all had demo versions.
- The one I tried was TransMac.
It installed and worked first time.
Slightly wierd UI, and the demo version doesn't copy folders
recursively, but it did the job for me. The full version is
less than $100.
I often want to export Postscript from from a Word, Excel, or
Powerpoint document. For example: submit a Word documemt to a
conference, or include a chart made by Excel in a paper, or include
Powerpoint pictures in a LaTeX file. I know two ways to do this,
neither of them obvious.
Use "Print as file"
Using "Print as file" is most direct, but it takes multiple
actions on each occasion.
- Select File/Print....
- In the print dialogue box, check 'print as file'.
- In the same dialogue box, click Properties, then
the Paper/Quality tab, then Advanced.... Then, in the hierarchical tree,
click on Document Options/Postscript Options/Postscript Output Option.
A little drop-down menu box appears: select the Encapsulated Postscript (EPS) option.
If you don't do this, you get lots of extra non-postscript goop in your Postscript file.
- Click OK enough to get you back to the Print.. dialogue box.
- Click OK. You get a file browser window. In the bottom-most selector
pick "All Files (*.*)" (if you don't do this, Powerpoint will add a suffix
to whatever file name you pick). In the next-to-bottom box type
the name of the Postscript file (e.g. foo.ps). Click Save.
If you select File/Print... again, to repeat the process after editing
the file, you don't need to repeat the "print as file", or "select EPS" steps;
they are remembered.
The stuff above only prints one slide (the first). If you want to print
all of the slides of a Powerpoint presentation, with each slide
on a new page, Mike Barnett found
that you can proceed as follows:
- Change the second option "TrueType Download Option" from
"Auto" to "Bitmap"
Trying to view the resulting PostScript using Ghostview ends up in
errors that Ghostview complains about. But if you take the PostScript
and convert it to PDF, then Acrobat has no problem displaying all of
the pages. It doesn't appear to make any difference for this if I
change the "PostScript Output Option" to "EPS" or not. [Mike adds:
this recipe may not work with Office 2003. I finally got
it to work using "Optimize for Portability" as the PostScript Output
Option and "Automatic" as the TrueType Font Download Option. The
PostScript is still wacky: in GhostView you see only the first page,
but the PDF contains all of the pages, *except* for the last slide. So
I had to add a dummy last slide to the presentation...]
Install a
pseudo-printer
The second method takes two minutes to set up, but is then less work
to use. It works by installing a pseudo-printer, but you don't need any
hardware to do this!
- Open "Start/Printers and Faxes".
- Double-click "Add Printer" to wake up the add-printer wizard.
- Select "Local printer" and un-check the "Automatically detect plug-and-play" box; click Next.
- In the "Select a port" box, select "Use the following port" and
choose "FILE: (Print to file)" menu item. This is the crucial and entirely non-obvious step.
- In the "Install printer software" box, you pick some printer for which you
have the sofware. Chances are, it'll already be on your hard disk if you choose
a popular brand. I chose "Apple Laserwriter NTX v51.8", but I don't have an algorithm for
how to choose. Pretty much any one should work.
- The rest of the wizard boxes are self explanatory. You get to type a name for the
printer: you can use "Print Postscript to file" or something like that.
Once you have done this, you simply choose your new printer in the "File/Print.."
dialogue, whenever you want to print Postscript. When you click OK in the "Print.."
box, you'll be asked for a file name. I didn't get a proper file-select dialogue
box here, so it wasn't clear to me which directory the file would end up in,
so I had to type a full path name. I don't know whether this infelicity is
driver-specific.
Excel charts
If you want to dump a single Excel chart as Postscript:
- Right-click the chart and select "Chart Window".
- Now you can
right click the chart window's title bar, and select Print.
Writing mathematics in Powerpoint slides is a pain. But no longer!
Written by George Necula,
TexPoint is a
Powerpoint add-in that enables the easy use of LaTeX symbols and
formulas in Powerpoint presentations. The package allows you to write LaTeX source for
symbols or one-line formulas in your slides and then translates that
source into the appropriate sequence of symbols. For more
complicated formulas, you can also embed arbitrary LaTeX source in
the Powerpoint presentation. The source is processed and displayed
automatically every time it is edited.
I havn't used it yet, but it
looks terrific, and people who have used it say it's great.
I use LaTeX for writing papers, and I often want to include diagrams.
Here are a couple of ways to use excellent Win32 drawing tools to do so.
(It took me ages to discover this stuff.)
Powerpoint is widely available, and is an excellent drawing editor. I particularly
like the fact that connectors stay connected when you move boxes around,
and that box labels stay with the box. Generally, the user interface is jolly good.
The trick is to get it to dump a picture you can include in LaTeX:
- Draw your picture(s) on a slide. You can draw several diagrams on a single
slide, and later extract them selectively. I draw them actual size (Powerpoint has a ruler
that works) and use zoom to make them big enough to draw easily. I have never
tried using more than one slide.
- Save the diagram as a normal Powerpoint file, say foo.ppt.
- Save the diagram to a Postscript file (see above).
- View the EPS file with Ghostview (or some other previewer).
Note the coords of the Bottom LH and Top RH
corners. Ghostview helpfully displays these in the status bar.
(Do not make the mistake of grabbing the top LH and bottom RH coords!)
- In your LaTeX file, add
\usepackage{epsfig}
at the beginning. Then, where you want your figure, put:
\begin{figure}
\begin{center}
\epsfig{file=foo.eps, bbllx=35pt, bblly=582pt, bburx=214pt, bbury=775pt, clip=}
\end{center}
\caption{Your caption}
\label{your-label}
\end{figure}
(Of this, the only important part is the \epsfig line.)
Fill in the coordinates you got from the previous step in the
bbllx etc fields. (bbllx = bounding box lower left x-coord.)
The clip= part is important: it says to ignore stuff outside
the specified bounding box.
- If you have multiple drawings on a single slide, just use
a separate \epsfig line for each, with the same file name
but different coordinates.
- If you have only one drawing on the slide, you can avoid
the coordinate-fiddling stuff above (thanks to Laci Lavosz):
That's it! It's quite a pain, but it works. Furthermore, if you
edit the drawing, you can
just "print" the file again. Powerpoint will remember the EPS setting,
so it's quite quick. If you don't change the bounding box, you don't
need to change the LaTeX file at all.
When I asked around about this I got the following alternative suggestions,
which I have not tried.
- Visio got star billing. It seems to have an even better UI than
Powerpoint, and can export Encapsulated Postscript (use Save As, and select
EPS from the offered file types in the dialogue box which asks you what file
to save it in).
- I used to use xfig on Unix. It can export
Postscript, PDF, mixed LaTeX/PS, and many other formats, including bitmaps.
markup.
- A couple of people recommended Tgif on Unix.
- Adobe Illustrator knows about exporting Postscript.
- CorelDraw likewise.
I'm preparing a Powerpoint presentation for a paper that I have
typeset in LaTeX. Powerpoint is excellent for text and diagrams,
but I wanted to include many equations and type-inference rules
that I had carefully typeset in my LaTeX paper. Here's how to
do it with amazingly little effort.
Someone else responded thus: I do pictures in a similar easy way -
if I want to save a screen I want to put in a slide or word document,
I press "Alt-PrtScn" on the keyboard (current focus window image goes
into clipboard), then go to Office Photo Editor, File, New, control-V
(paste) and then use the Select Tool to snip out graphics that I
want.
[Contributed by Tuomas Aura.]
It can be frustrating to use Word's Insert Symbol function to insert
a mathematical symbol, because the symbol you want can be hard to find.
Instead, you can type a 4-digit hexadecimal character code, and then type Alt-X.
For example, a square subset-or-equal symbol (\sqsubseteq in Latex) is = 2291 + Alt-X.
These two Word documents give the character codes:
Install and configure useful packages
There is a general FAQ for Emacs on Windows at
http://www.gnu.org/software/emacs/windows/faq.html.
ispell is an interactive spell checker for Emacs.
I got a working copy from
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Humblet_Pierre_A/V1.1.
Look for ispell...README and ispell...tar.gz.
The instructions in the README are fine.
I found it easy to install by untar-ing (telling WinZip to use path-names!)
into c:/cygwin,
and making sure that c:/cygwin/usr/local/bin was on my PATH.
[This one is not Win32-specific at all.] Tags tables are great. Here
are two things I've found indispensable:
Among other things, it tells you how to set up emacs so you can print from Emacs. I reproduce the
simplest version here, due to Andrew Innes:
Printing (very) plain text.
In 20.4, you should start by clearing out ALL printing-related settings
from your .emacs, especially packages like print-nt that were written
for older releases. If you have a printer physically attached to your
computer, then I believe the default settings will very likely work just
as they are (assuming you have already configured Windows to support the
printer, and can successfully print a test page). So first try loading
a small text file, and then selecting Tools -> Print -> Print Buffer from the menubar.
If you don't have a printer physically attached, or it is not attached
to the standard parallel printer port (LPT1), then set `printer-name'
accordingly:
(setq printer-name "LPT2:") ; non-standard port
(setq printer-name "//some-server/its-printer") ; network printer
Again try Tools -> Print -> Print Buffer from the menubar, to see if it
works. For network printers, remember the rule: Emacs will only be able
to print to "//some-server/its-printer" if "its-printer" is listed as a
shared printer in the output of "net view some-server".
I'm going to assume that you already have the miktex version
of LaTex (http://www.miktex.org)
installed, in "c:/texmf".
Here is how to configure Latex. In particular, you
need to explain where to find your style files, bibliographies etc,
and (unlike Unix) you don't do that through environment variables.
I usually use dvips to convert the DVI files that Latex spits out into
Postscript, but it's possible to look at the DVI files directly. What took me
ages to discover is that the DVI file viewer that comes with miktex is
called yap.
Here's how to make yap your default DVI viewer, so that double-clicking a DVI file
will open it. In a file browser window pick "Tools/Folder Options...".
Click on the "File Types" tab; check that DVI is not in the list of known extensions; click
"New"; type "dvi" into the extension box; then click OK. Now select the DVI item in the
scrolling list of file types, and click "Change". I get a window saying "Windows doesn't know
how to open DVI files". Click "Select the program from a list"; in the new dialogue box, click Browse..
and navigate to "C:/texmf/miktex/bin/yap.exe". Now OK your way out.
TeraTerm is a good telnet client to run on your machine. You can
find it at
http://hp.vector.co.jp/authors/VA002416/teraterm.html
In particular, it supports a SSH plugin, TTSSH. The latter is available on the
same page as above.
When you run TeraTerm, from the Setup window do the following:
- Setup/Terminal. Click "Term size = Window size". This lets you resize your
window (otherwise you can't).
- Setup/Window. Change the size of the scroll buffer if you want.
- Setup/keyboard. In 'Transmit DEL by' click 'Backspace' and 'Delete' (unless
you only want one or the other. Click 'Meta key' too.
- Setup/Save settings. Just click ok.
Alternatively, Jurgen Bohn wrote to me to recommend PuTTY, a free
implementation of Telnet and SSH for Win32 platforms, along with an
xterm terminal emulator
http://www.chiark.greenend.org.uk/~sgtatham/putty/
He said "This free tool is very easy to use and requires no installation etc."
I havn't tried it myself.
Cygwin is a suite of Unix lookalike tools that
dresses up the Win32 environment into something more UNIX-like.
Notably, it provides gcc, as and ld.
Cygwin also provides CVS.
Important grungy information about Cygwin:
Here's how to install Cygwin.
Here's an alias you might
also find quite useful. If you add
alias start='cmd /c start'
to your $HOME/.bashrc, it lets you start up Windows applications
associated with a particular file extension directly from the bash
prompt, e.g.,
sofbox$ start someDoc.html
starts up IE displaying someDoc.html.
Microsoft now produce a package called Services for Unix (SFU).
Like Cygwin, it provides a Unix environment on top of the Windows platform,
but the integration between SFU and Windows is much deeper and more intimate.
I have never used SFU, but I've seen a demo and it looks pretty good.
It's free too, I believe, from version 3.5 onwards.
http://www.microsoft.com/windows/sfu/
There is a very nice graphical front-end to CVS for Win32 platforms,
with a UI that people will be familiar with, at
http://www.wincvs.org/
We have tried, and failed, to make it work with all the ssh stuff.
If you succeed, let us know.
Brian Zhou recommends TortoiseCVS, another graphical front-end
for CVS on Win32,
which makes a CVS repository look like a Windows Explorer folder.
http://cvsgui.sourceforge.net/TortoiseCVS/download.shtml
I havn't tried it myself.
Use the InstallShield download from http://haskell.org/ghc. By default, this installs GHC in
c:/ghc/ghc-x.yy/*.
You'll need to add c:/ghc/ghc-x.yy/bin to your PATH; that
makes GHC easy to invoke. And that is all.
To build GHC from source, follow the instructions in the
Notes for building under Windows section of the GHC building guide.
If you check out the source using CVS, follow the instruction in the
Using the CVS repository section of the same guide.