From owner-freebsd-questions@FreeBSD.ORG Fri Jan 1 17:42:23 2010 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBD411065676 for ; Fri, 1 Jan 2010 17:42:23 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mx01.qsc.de (mx01.qsc.de [213.148.129.14]) by mx1.freebsd.org (Postfix) with ESMTP id 9C54B8FC12 for ; Fri, 1 Jan 2010 17:42:23 +0000 (UTC) Received: from r55.edvax.de (port-92-195-206-49.dynamic.qsc.de [92.195.206.49]) by mx01.qsc.de (Postfix) with ESMTP id 09C453D327; Fri, 1 Jan 2010 18:42:20 +0100 (CET) Received: from r55.edvax.de (localhost [127.0.0.1]) by r55.edvax.de (8.14.2/8.14.2) with SMTP id o01HgJA5002100; Fri, 1 Jan 2010 18:42:21 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Fri, 1 Jan 2010 18:42:19 +0100 From: Polytropon To: Doug Poland Message-Id: <20100101184219.6cd84f19.freebsd@edvax.de> In-Reply-To: <4B3E3121.6060106@polands.org> References: <4B3E3121.6060106@polands.org> Organization: EDVAX X-Mailer: Sylpheed 2.4.7 (GTK+ 2.12.1; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: questions@freebsd.org Subject: Re: Advanced printing/layout tools X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Polytropon List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jan 2010 17:42:23 -0000 On Fri, 01 Jan 2010 11:30:09 -0600, Doug Poland wrote: > Hello, > > I've been tasked to print a phonebook style directory for an > organization. The data will be coming out of a MySQL database and can > be easily saved as comma-delimited, or whatever text format I need. > > My specific question is, what open source tools would one use to tackle > a project like this? I'm very comfortable in a CLI and do not > require/desire a GUI. I'd suggest to use awk + LaTeX. I've been very happy with this combination for a various number of tasks - just as you mentioned: Data coming from some kind of database (MySQL, CSV or whatever) and should then be layouted. I use an awk script that reads the input line-wise, and then splitting it via a known delimiter, e. g. ":". Before doing so, it creates a LaTeX preamble, and afterwards it "closes" the document. The tex file is then processed by pdflatex, giving you a PDF file as output. For your particular task, I'd suggest a two- or more column layout (LaTeX provides that), containing a tabular environment. This environment then contains the data. If LaTeX doesn't take care of "page full" for you - I don't know format or amount of your source data - you can do that easily with the awk script. In order to update the document, you just have to re-run the awk script and pdflatex command. I often (ab)use a Makefile for this. The awk interpreter comes with FreeBSD, and LaTeX can easily be installed, e. g. with "pkg_add -r teTeX". Of course, you stay in the free land of open source with this combination. In case you want to have an example file, write off-list to me - no need to pollute the list with this niche-market stuff. :-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...