The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...' --Isaac Asimov
That's Funny… random header image

Proofing a manuscript

February 6th, 2010 by eric

I recently got the proofs back for an accepted manuscript and had to go about making sure the editors didn’t screw anything up when they typeset the text. One way I’ve done this in the past (idea via Gabrielle!) is to coerce a co-author into helping me read the entire manuscript. Backwards. One conspirator reads the original submitted version and another reads the uncorrected proof, starting from the end, pronouncing every word and every punctuation mark. This is mind-numbingly tedious but it works. The end-to-beginning technique is important because it prevents ‘skimming’ and assuming the content of a sentence without actually verifying it.

Unfortunately, I don’t have a co-author here to waylay, so I’ve used the next best thing (no, not an undergrad): a computer. Below is a perl script which takes as input a text file with one version of the manuscript and outputs the reversed, punctuated version. I abused Adobe to translate the publisher’s PDF into a text file (email it to, which I then manually edited to remove line numbers, etc. After translating it using the script I had MacOSX read it to me while I made notes on the original submitted PDF whenever there was an inconsistency. The new text-to-speech voice, Alex, is actually quite good. In hindsight, the better way to do this would be to use my original LaTeX (tex2txt?) or .doc file as the reversed text and to make notes directly on the publisher’s PDF. Oh well, there will be a next time.

How to use the program:

  • save as
  • make the code executable: chmod +x ./
  • and run as: ./ [inputfile]
  • the program will output a file [proofed.txt]
  • run: say -v Alex < ./proofed.txt
  • OR open the output file in a text processing program (e.g. TextWrangler) and choose “Services –> Speech –> Start Reading Text”. You can change the voice and reading speed under “Apple –> System Preferences –> Speech”
use strict;
use warnings;

open FILE, ">proofed.txt" or die $!;
my @array;

while(<>) {
    s/\,/ ,comma, /g;
    s/\:/ ,colon, /g;
    s/\./ ,period, /g;
    s/\;/ ,semicolon, /g;
    s/\</ than, ,less /g;
    s/\>/ than, ,greater /g;
    s/\?/ mark, ,question /g;
    s/\'/ apostrophe, /g;
    s/"/ mark, ,quotation /g;
    s/\(/ parenthesis, ,open /g;
    s/\)/ parenthesis, ,closed /g;
    s/\=/ ,equals, /g;
    s/\+/ ,plus, /g;
    s/\-/ ,dash, /g;
    s/\!/ point, ,exclamation /g;
    s/\@/ sign, ,at /g;
    s/\#/ sign, ,pound /g;
    s/\$/ sign, ,dollar /g;
    s/\%/ sign, ,percent /g;
    s/\^/ sign, ,caret /g;
    s/\&/ ,ampersand, /g;
    s/\*/ ,asterisk, /g;
    s/\[/ bracket, ,open /g;
    s/\]/ bracket, ,close /g;
    s/\{/ bracket, ,curly open /g;
    s/\}/ bracket, ,curly close /g;
    s/\~/ ,tilde, /g;
    s/\`/ mark, ,tick /g;
    s/\// slash, ,forward /g;
    s/\\/ slash, ,back /g;
    s/ a / ,a, /g;
    s/ the / ,the, /g;
    s/ to / ,to, /g;
    s/ in / ,in, /g;
    s/[^A-Za-z0-9 ,\n]/ character, ,unknown /g;
    push(@array, split,"\n");
print FILE join(' ', reverse @array);

close FILE;

Tags:   · · · · · 3 Comments

Leave A Comment

3 responses so far ↓

  • 1 colleen Feb 8, 2010 at 3:36 pm

    only you eric. only you….


  • 2 eric Feb 8, 2010 at 3:45 pm

    well of course. if someone else had already done it I wouldn’t have had to ;)

  • 3 Notes on Proofs Jul 18, 2012 at 12:27 pm

    […] just finished going over the galley proofs for our newest manuscript, using my good old ‘proofer‘ program. This time I found mostly minor errors on the publisher’s part, including some […]