[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposed feature request (indefinite version): LaTeX document classes

On Wed, Nov 21, 2012 at 6:18 AM, Michael Richardson <..hidden..> wrote:

>>>>> "Chris" == Chris Travers <..hidden..> writes:
    Chris> I am wondering what folks think about moving from LaTeX
    Chris> templates per se to LaTeX document classes and packages, with
    Chris> a lot less micromanagement of layout in the template itself.
    Chris> The idea is that we could provide a good LaTeX development
    Chris> environment rather than some sample documents.  The LaTeX
    Chris> document classes might even be things that could be pushed
    Chris> into TeXLive, thus getting more exposure and wider use.

please tell me more about what this means.
Does this mean that I could test templates outside of LedgerSMB?

It would mean that most of the template logic would be broken off into blocks that could be used outside of LedgerSMB, for other invoices on other programs, etc.  This would create a common interface in terms of what an invoice expects in various parts (invoice header, line items, etc)

For example, consider how the checks work right now.  Right now the check templates are very much "roll your own."   However there is common information that checks all have on them, like dates, amounts, text amounts, and the like.  Check stub information may similarly have some specific information in it.    This would allow you to create a template, and the template could be edited/run outside of LedgerSMB much better than is currently done now.  But on top of that anyone else in the world who needs to print checks could consider using our document classes as a starting point.

Imagine being able to test your template by creating a file that looks like this:

\renewcommand{\amounttext}{One Thousand and 00/100}
\renewcommand{\payee}{Office Supply Store, Inc.}
\renewcommand{\memo}{Office Supplies}

Now of course if you want to change your look and feel you could write your own checktemplate1234.sty (or similar) or you could override functions.  In other words, the checks would be broken down into three pieces:

lsmbcheck.cls would have the paper set up, the basic document definitions, some defaults, and the like.

checktemplate1234.sty would have commands that would actually lay out a given page

and the check.tex from LedgerSMB would just be an interface file with an ability to shift things around the paper a little bit to accommodate different printers/drivers/etc.  Because this file would be minimal, it would be really easy to create a dummy file with sample data for testing alignment, etc.

The overall codebase would initially get larger, but longer-run we might be able to push a lot of the templates and document classes into TexLive once the interfaces are very stable.

Best Wishes,
Chris Travers

    Chris> If other projects use our work this increases the likelihood
    Chris> that we can expand our exposure to the market generally, and
    Chris> may get help in this area from others as well.

that's seems like a good thing.

]       He who is tired of Weird Al is tired of life!           |  firewalls  [
]   Michael Richardson, Sandelman Software Works, Ottawa, ON    |net architect[
] ..hidden.. http://www.sandelman.ottawa.on.ca/ |device driver[
   Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
                       then sign the petition.

Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
Ledger-smb-devel mailing list