Gas station without pumps

2020 September 2

Last to-do note in book cleared

Filed under: Circuits course — gasstationwithoutpumps @ 17:01
Tags: , , ,

I finally cleared the last of the to-do notes from the draft of Applied Analog Electronics, only a couple of days behind my self-imposed deadline.  I still have to spell-check the whole book again, check for any missing cross-references, and check for overfull boxes.

I’m not going to check that the 211 URLs are all still ok (each one was ok at the time I added it).  I’ll have to rely on readers pointing out newly broken ones to me.  I wasted a couple of hours looking for tools that would to the job for me automatically, but all the ones I tried failed in various ways (outdated Python code that wouldn’t compile, misparsing URLs that worked just fine from clicking on the links on the pdf file, …).  If anyone knows of a cheap (preferably free) URL checker for PDF files that actually works, please let me know!

I expect to release a new version of the book within a week, at which time I’ll probably end my Covid-19 sale price.  People who buy before the new version comes out can get the current price and still get the new version when it is released.  One nice thing about selling through Leanpub is that purchasers get all future editions published through Leanpub as part of the price—the company is trying to encourage authors to publish book drafts through them, rather than waiting until the book is completely polished.

4 Comments »

  1. I also tried various url checking packages, and found it hard to get any of them to work. I resorted to the following as a simple low tech command line url checker the other day:

    #!/usr/bin/perl

    checker.pl

    while (<>)
    {
    chomp;

    system( qq(wget –spider –force-html ‘$‘ ; echo “WGET: $ : \$?”) );
    }

    Run it like:
    ./checker.pl < file_with_list_of_urls

    Any file with a ‘WGET: filename: 0’ line was found.

    You’d have to extract the urls into a text file as a first step. If you book is based on latex sources, that shouldn’t be too hard.

    Comment by peeterjoot — 2020 September 5 @ 09:45 | Reply

    • The cut and paste above screwed up the quote and other characters. PM or email me if you want me to send you a non-mangled version.

      Comment by peeterjoot — 2020 September 5 @ 09:47 | Reply

        • Thanks, but if I write my own software to do URL checking, I’ll be doing it in Python, not PERL. Checking URLs from Python is not difficult, and I have lots of examples on the web for that part. The hard part is extracting URLs from the PDF, to make sure that they were not mangled by pdflatex. So far, all the programs I’ve seen that claim to extract and check URLs from PDF mangle the URLs, so that perfectly good links that work even from Preview are mis-extracted, defeating the purpose of the checker.

          I may do a half-assed job, just checking the 114 URLs in the .bib file (which will check for dead URLs, but not for any mangling that pdflatex may have done) and not the 53 URLs that are explicitly given in the .tex files. Or maybe I’ll check all the urls from both .bib and .tex files, but not the .pdf. That worries me, though, as an early edition of the book did have trouble with some URLs being broken by pdflatex. I think I fixed the problem by playing around with the order in which packages were loaded, but it would be good to be able to check.

          Comment by gasstationwithoutpumps — 2020 September 5 @ 10:52 | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: