1#!/usr/bin/perl -w 2# 3# Copyright (C) 2005, 2007 Internet Systems Consortium, Inc. ("ISC") 4# 5# Permission to use, copy, modify, and/or distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15# PERFORMANCE OF THIS SOFTWARE. 16 17# $Id: latex-fixup.pl,v 1.5 2007/06/19 23:47:13 tbox Exp $ 18 19# Sadly, the final stages of generating a presentable PDF file always 20# seem to require some manual tweaking. Doesn't seem to matter what 21# typesetting tool one uses, sane forms of automation only go so far, 22# at least with present technology. 23# 24# This script is intended to be a collection of tweaks. The theory is 25# that, while we can't avoid the need for tweaking, we can at least 26# write the silly things down in a form that a program might be able 27# to execute. Undoubtedly everythig in here will break, eventually, 28# at which point it will need to be updated, but since the alternative 29# is to do the final editing by hand every time, this approach seems 30# the lesser of two evils. 31 32while (<>) { 33 34 # Fix a db2latex oops. LaTeX2e does not like having tables with 35 # duplicate names. Perhaps the dblatex project will fix this 36 # someday, but we can get by with just deleting the offending 37 # LaTeX commands for now. 38 39 s/\\addtocounter\{table\}\{-1\}//g; 40 41 # Line break in the middle of quoting one period looks weird. 42 43 s/{\\texttt{{\.\\dbz{}}}}/\\mbox{{\\texttt{{\.\\dbz{}}}}}/; 44 45 # Add any further tweaking here. 46 47 # Write out whatever we have now. 48 print; 49} 50