Adjust of blank lines between keywords and sections

M-x fill-paragraph at column 72
M-x delete-trailing-whitespace
And some other minor fixes
This commit is contained in:
thdox 2013-04-30 21:10:12 +02:00
parent b2e63df0e6
commit f20e16cc4a

View file

@ -1,7 +1,12 @@
\input texinfo @c -*-texinfo-*- \input texinfo @c -*-texinfo-*-
@setfilename ledger-mode.info @setfilename ledger-mode.info
@settitle Ledger: Command-Line Accounting @settitle Ledger: Command-Line Accounting
@c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with
@c a prefix arg). This updates the node pointers, which texinfmt.el
@c needs.
@dircategory Major Modes @dircategory Major Modes
@copying @copying
Copyright (c) 2013, Craig Earls. All rights reserved. Copyright (c) 2013, Craig Earls. All rights reserved.
@ -10,28 +15,28 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are modification, are permitted provided that the following conditions are
met: met:
- Redistributions of source code must retain the above copyright - Redistributions of source code must retain the above copyright notice,
notice, this list of conditions and the following disclaimer. this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright - Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
- Neither the name of New Artisans LLC nor the names of its - Neither the name of New Artisans LLC nor the names of its contributors
contributors may be used to endorse or promote products derived from may be used to endorse or promote products derived from this software
this software without specific prior written permission. without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@end copying @end copying
@documentencoding UTF-8 @documentencoding UTF-8
@ -40,7 +45,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@finalout @finalout
@end iftex @end iftex
@titlepage @titlepage
@title Ledger Mode @title Ledger Mode
@subtitle Emacs Support For Version 3.0 of Ledger @subtitle Emacs Support For Version 3.0 of Ledger
@ -54,16 +58,18 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@contents @contents
@ifnottex @ifnottex
@node Top, Copying, (dir), (dir) @node Top, Copying, (dir), (dir)
@top Overview @top Overview
Ledger is a command line accounting tool that provides double-entry Ledger is a command line accounting tool that provides double-entry
accounting based on a text journal. It provides no bells or whistles, accounting based on a text journal. It provides no bells or whistles,
and returns the user to the days before user interfaces were even a and returns the user to the days before user interfaces were even
1twinkling in their father's CRT. a 1twinkling in their father's CRT.
Ledger Mode assists you in maintaining input files for Ledger, running Ledger Mode assists you in maintaining input files for Ledger, running
reports and much more... reports and much more...
@c @insertcopying
@end ifnottex @end ifnottex
@menu @menu
@ -80,10 +86,12 @@ reports and much more...
@node Copying, Introduction to Ledger Mode, Top, Top @node Copying, Introduction to Ledger Mode, Top, Top
@chapter Copying @chapter Copying
@insertcopying @insertcopying
@node Introduction to Ledger Mode, The Ledger Buffer, Copying, Top @node Introduction to Ledger Mode, The Ledger Buffer, Copying, Top
@chapter Introduction to Ledger Mode @chapter Introduction to Ledger Mode
@menu @menu
* Quick Installation:: * Quick Installation::
* Menus:: * Menus::
@ -95,15 +103,15 @@ reports and much more...
The Emacs lisp source for Ledger-mode is included with the source The Emacs lisp source for Ledger-mode is included with the source
distribution of Ledger. It is entirely included in the @file{lisp} distribution of Ledger. It is entirely included in the @file{lisp}
subdirectory. To use ledger mode include the following in your Emacs subdirectory. To use ledger mode, include the following in your Emacs
initialization file (@file{~/.emacs}, @file{~/.emacs.d/init.el}, initialization file (@file{~/.emacs}, @file{~/.emacs.d/init.el}, or
@file{~/.Aquamacs/Preferences.el} @file{~/.Aquamacs/Preferences.el}
@smallexample @lisp
(add-to-list 'load-path (expand-file-name "/path/to/ledger/source/lisp/")) (add-to-list 'load-path (expand-file-name "/path/to/ledger/source/lisp/"))
(load "ldg-new") (load "ldg-new")
(add-to-list 'auto-mode-alist '("\\.ledger$" . ledger-mode)) (add-to-list 'auto-mode-alist '("\\.ledger$" . ledger-mode))
@end smallexample @end lisp
This sets up Emacs to automatically recognize files that end with This sets up Emacs to automatically recognize files that end with
@file{.ledger} and start Ledger mode. Nothing else should be required @file{.ledger} and start Ledger mode. Nothing else should be required
@ -169,8 +177,8 @@ commodity, this can be easily changed in the customization
variables. @xref{Ledger-mode Customization}. variables. @xref{Ledger-mode Customization}.
You now see a list of uncleared transactions in a buffer below the You now see a list of uncleared transactions in a buffer below the
@file{demo.ledger} buffer. Touching the space bar will mark a @file{demo.ledger} buffer. Touching the space bar will mark
transaction as pending and display the current cleared (and pending) a transaction as pending and display the current cleared (and pending)
balance, along with the difference remaining to meet your target. Clear balance, along with the difference remaining to meet your target. Clear
the first three transactions, and you will see the difference to target the first three transactions, and you will see the difference to target
reach $0. End the reconciliation by typing @code{C-c C-c}. This saves reach $0. End the reconciliation by typing @code{C-c C-c}. This saves
@ -193,21 +201,23 @@ type @code{C-c C-c}. Ledger mode will take you directly to that
transaction in the @file{demo.ledger} buffer. transaction in the @file{demo.ledger} buffer.
Another built-in report is the balance report. In the Another built-in report is the balance report. In the
@file{demo.ledger} buffer, type @code{C-c C-o C-r}. When prompted for a @file{demo.ledger} buffer, type @code{C-c C-o C-r}. When prompted for
report to run, type @code{bal}, and a balance report of all accounts a report to run, type @code{bal}, and a balance report of all accounts
will be shown. will be shown.
@node Narrowing, , Reports, Quick Demo @node Narrowing, , Reports, Quick Demo
@subsection Narrowing @subsection Narrowing
A ledger file can get very large. It can be helpful to collapse the buffer A ledger file can get very large. It can be helpful to collapse the
to display only the transactions you are interested in. Ledger-mode buffer to display only the transactions you are interested in.
copies the @code{occur} mode functionality. Typing @code{C-c C-f} and Ledger-mode copies the @code{occur} mode functionality. Typing
entering any regex in the mini-buffer will show only transactions that @code{C-c C-f} and entering any regex in the mini-buffer will show only
match the regex. The regex can be on any field, or amount. transactions that match the regex. The regex can be on any field, or
amount.
@node The Ledger Buffer, The Reconcile Buffer, Introduction to Ledger Mode, Top @node The Ledger Buffer, The Reconcile Buffer, Introduction to Ledger Mode, Top
@chapter The Ledger Buffer @chapter The Ledger Buffer
@menu @menu
* Adding Transactions:: * Adding Transactions::
* Editing Amounts:: * Editing Amounts::
@ -239,6 +249,7 @@ which defaults to 52. @xref{Ledger Post Customization Group}.
@node Quick Balance Display, , Adding Transactions, Adding Transactions @node Quick Balance Display, , Adding Transactions, Adding Transactions
@subsection Quick Balance Display @subsection Quick Balance Display
You will often want to quickly check the balance of an account. The You will often want to quickly check the balance of an account. The
easiest way it to position point on the account you are interested in, easiest way it to position point on the account you are interested in,
and type @code{C-C C-P}. The minibuffer will ask you to verify the name and type @code{C-C C-P}. The minibuffer will ask you to verify the name
@ -247,27 +258,29 @@ balance of the account will be displayed in the minibuffer.
@node Editing Amounts, Marking Transactions, Adding Transactions, The Ledger Buffer @node Editing Amounts, Marking Transactions, Adding Transactions, The Ledger Buffer
@section Editing Amounts @section Editing Amounts
GNU Calc is a very powerful Reverse Polish Notation calculator built GNU Calc is a very powerful Reverse Polish Notation calculator built
into all recent version of Emacs. Ledger-mode makes it easy to into all recent version of Emacs. Ledger-mode makes it easy to
calculate values for amount by integrating GNU Calc. With the point calculate values for amount by integrating GNU Calc. With the point
anywhere in the same line as a posting, typing @code{C-c C-b} will anywhere in the same line as a posting, typing @code{C-c C-b} will bring
bring up the Calc buffer, and push the current amount for the posting up the Calc buffer, and push the current amount for the posting onto the
onto the top of the Calc stack. Perform any calculations you need to top of the Calc stack. Perform any calculations you need to arrive at
arrive at the final value, then type @code{y} to yank the value at the the final value, then type @code{y} to yank the value at the top of
top of stack back into the ledger buffer. Note: GNU Calc does not stack back into the ledger buffer. Note: GNU Calc does not directly
directly support commas as decimal separators. Ledger mode will support commas as decimal separators. Ledger mode will translate values
translate values from decimal-comma format to decimal-period format for from decimal-comma format to decimal-period format for use in Calc, but
use in Calc, but it cannot intercept the value being yanked form the it cannot intercept the value being yanked form the Calc stack, so
Calc stack, so decimal-comma users will have to manually replace the decimal-comma users will have to manually replace the period with
period with a comma. a comma.
@node Marking Transactions, Deleting Transactions, Editing Amounts, The Ledger Buffer @node Marking Transactions, Deleting Transactions, Editing Amounts, The Ledger Buffer
@section Marking Transactions @section Marking Transactions
Ledger considers transaction or posting to be in one of three states: Ledger considers transaction or posting to be in one of three states:
uncleared, cleared, and pending. For calculation Ledger ignores these uncleared, cleared, and pending. For calculation Ledger ignores these
states unless specifically instructed to use them. Ledger-mode assigns states unless specifically instructed to use them. Ledger-mode assigns
some additional meaning to the states: some additional meaning to the states:
@itemize @itemize
@item Uncleared. @item Uncleared.
No state. This is equivalent to sticking a check in the mail. It has No state. This is equivalent to sticking a check in the mail. It has
@ -277,12 +290,13 @@ your account balance. You bank may call these transactions 'pending',
but Ledger-mode uses a slightly different meaning. but Ledger-mode uses a slightly different meaning.
@item Pending. @item Pending.
Ledger-mode's reconciliation function see pending transactions as an Ledger-mode's reconciliation function see pending transactions as an
intermediate step in reconciling an account. When doing a intermediate step in reconciling an account. When doing
reconciliation (@pxref{Reconciliation}), marking a transaction as a reconciliation (@pxref{Reconciliation}), marking a transaction as
pending means that you have seen the transaction finally recorded by the pending means that you have seen the transaction finally recorded by the
recipient, but you have not completely reconciled the account. recipient, but you have not completely reconciled the account.
@item Cleared. @item Cleared.
The transaction has been completely recognized by all parties to the transaction. The transaction has been completely recognized by all parties to the
transaction.
@end itemize @end itemize
Clearing complete transactions is done by typing @code{C-c C-e} with Clearing complete transactions is done by typing @code{C-c C-e} with
@ -292,6 +306,7 @@ while in a posting. This places an asterisk prior to the posting.
@node Deleting Transactions, Sorting Transactions, Marking Transactions, The Ledger Buffer @node Deleting Transactions, Sorting Transactions, Marking Transactions, The Ledger Buffer
@section Deleting Transactions @section Deleting Transactions
Along with normal buffer editing methods to delete text, Ledger mode Along with normal buffer editing methods to delete text, Ledger mode
provides an easy way to delete the transaction under point: @code{C-c provides an easy way to delete the transaction under point: @code{C-c
C-d}. The advantage to using this method is that the complete C-d}. The advantage to using this method is that the complete
@ -307,8 +322,8 @@ can help bring order to chaos. Ledger sort (@code{C-c C-s}) will sort
all of the transactions in a region by date. Ledger-mode isn't all of the transactions in a region by date. Ledger-mode isn't
particularly smart about handling dates and it simply sorts the particularly smart about handling dates and it simply sorts the
transactions using the string at the beginning of the transaction. So, transactions using the string at the beginning of the transaction. So,
you should use the preferred ISO 8601 standard date format @code{YYYY/MM/DD} you should use the preferred ISO 8601 standard date format
which easily sorts. @code{YYYY/MM/DD} which easily sorts.
Note, there is a menu entry to sort the entire buffer. Special Note, there is a menu entry to sort the entire buffer. Special
transactions like automated transaction, will be moved in the sorting transactions like automated transaction, will be moved in the sorting
@ -317,6 +332,7 @@ there is no key sequence.
You can limit the allowed sort region by using embedded Ledger-mode You can limit the allowed sort region by using embedded Ledger-mode
markup within your ledger. For exmaple markup within your ledger. For exmaple
@smallexample @smallexample
<<< information to not sort >>> <<< information to not sort >>>
@ -328,6 +344,7 @@ markup within your ledger. For exmaple
<<< information to not sort >>> <<< information to not sort >>>
@end smallexample @end smallexample
You can use menu entries to insert start and end markers. These You can use menu entries to insert start and end markers. These
functions will automatically delete old markers and put new new marker functions will automatically delete old markers and put new new marker
at point. at point.
@ -335,8 +352,8 @@ at point.
@node Narrowing Transactions, , Sorting Transactions, The Ledger Buffer @node Narrowing Transactions, , Sorting Transactions, The Ledger Buffer
@section Narrowing Transactions @section Narrowing Transactions
Often you will want to run Ledger register reports just to look at a Often you will want to run Ledger register reports just to look at
specific set of transactions. If you don't need the running total a specific set of transactions. If you don't need the running total
calculation handled by Ledger, Ledger-mode provides a rapid way of calculation handled by Ledger, Ledger-mode provides a rapid way of
narrowing what is displayed in the buffer in a way that is simpler than narrowing what is displayed in the buffer in a way that is simpler than
the Ledger register command. the Ledger register command.
@ -347,8 +364,8 @@ regular expression can match on any part of the transaction. If you
want to find all transactions whose amount ends in .37, you can do that want to find all transactions whose amount ends in .37, you can do that
( I don't know why, but hey, whatever ever floats you aerostat). ( I don't know why, but hey, whatever ever floats you aerostat).
Using @code{C-c C-f} or the @code{Hide Xacts} menu entry, enter a Using @code{C-c C-f} or the @code{Hide Xacts} menu entry, enter
regular expression in the minibuffer. Ledger-mode will hide all other a regular expression in the minibuffer. Ledger-mode will hide all other
transactions. For details of the regular expression syntax, see transactions. For details of the regular expression syntax, see
@ref{(emacs)Regexps, Syntax of Regular Expressions} or @ref{(emacs)Regexps, Syntax of Regular Expressions} or
@ref{(elisp)Regular Expressions, Regular Expressions}. A few examples @ref{(elisp)Regular Expressions, Regular Expressions}. A few examples
@ -367,11 +384,12 @@ Show only transactions with payees or accounts or comments containing `auto'
Show only transcations with any line ending with `harley' Show only transcations with any line ending with `harley'
@end table @end table
To show back all transactions simply invoke @code{Hide Xacts} or @code{C-c To show back all transactions simply invoke @code{Hide Xacts} or
C-f} again. @code{C-c C-f} again.
@node The Reconcile Buffer, The Report Buffer, The Ledger Buffer, Top @node The Reconcile Buffer, The Report Buffer, The Ledger Buffer, Top
@chapter The Reconcile Buffer @chapter The Reconcile Buffer
@menu @menu
* Basics of Reconciliation:: * Basics of Reconciliation::
* Starting a Reconciliation:: * Starting a Reconciliation::
@ -414,8 +432,8 @@ account you wish to reconcile in the mini-buffer. Ledger-mode is not
particular about what you enter for the account. You can leave it blank particular about what you enter for the account. You can leave it blank
and Reconcile Mode will show you ALL uncleared transactions. After you and Reconcile Mode will show you ALL uncleared transactions. After you
enter the account enter the target amount. Ledger expects you to enter enter the account enter the target amount. Ledger expects you to enter
an amount with a commodity. It assumes initially that you are using $ an amount with a commodity. It assumes initially that you are using
(USD) as your default commodity. If you are working in a different $ (USD) as your default commodity. If you are working in a different
currency you can change the default in variable currency you can change the default in variable
@code{ledger-reconcile-default-commodity} to whatever you need. If you @code{ledger-reconcile-default-commodity} to whatever you need. If you
work in multiple commodities simply enter the commoditized amount (for work in multiple commodities simply enter the commoditized amount (for
@ -431,8 +449,8 @@ not display the complete list of commodities.
The @file{*Reconcile*} buffer will show all the uncleared transactions The @file{*Reconcile*} buffer will show all the uncleared transactions
that meet the criteria set in the regex. By default uncleared that meet the criteria set in the regex. By default uncleared
transactions are shown in red. When you have verified that a transactions are shown in red. When you have verified that
transaction has been correctly and completely recorded by the opposing a transaction has been correctly and completely recorded by the opposing
party, mark the transaction as pending using the space bar. Continue party, mark the transaction as pending using the space bar. Continue
this process until you agree with the opposing party and the difference this process until you agree with the opposing party and the difference
from your target is zero. from your target is zero.
@ -478,9 +496,9 @@ the ledger buffer are left in that state when the account is switched.
If for some reason during reconciliation your target amount changes, If for some reason during reconciliation your target amount changes,
type @code{t} and enter the new target value. type @code{t} and enter the new target value.
@node The Report Buffer, Customizing Ledger-mode, The Reconcile Buffer, Top @node The Report Buffer, Customizing Ledger-mode, The Reconcile Buffer, Top
@chapter The Report Buffer @chapter The Report Buffer
@menu @menu
* Running Basic Reports:: * Running Basic Reports::
* Adding and Editing Reports:: * Adding and Editing Reports::
@ -489,12 +507,14 @@ type @code{t} and enter the new target value.
@node Running Basic Reports, Adding and Editing Reports, The Report Buffer, The Report Buffer @node Running Basic Reports, Adding and Editing Reports, The Report Buffer, The Report Buffer
@section Running Reports @section Running Reports
The real power behind Ledger is in its amazing reporting capability. The real power behind Ledger is in its amazing reporting capability.
Ledger-mode provides easy facility to run reports directly from Emacs. Ledger-mode provides easy facility to run reports directly from Emacs.
It has four reports built-in and facilities for adding custom reports. It has four reports built-in and facilities for adding custom reports.
Typing @code{C-c C-o C-r} or using menu @code{Ledger Run Report} prompt Typing @code{C-c C-o C-r} or using menu @code{Ledger Run Report} prompt
for the name of a saved report. The built-in reports are: for the name of a saved report. The built-in reports are:
@table @samp @table @samp
@item bal @item bal
Produce a balance reports of all accounts. Produce a balance reports of all accounts.
@ -508,9 +528,9 @@ Prompt for an account, the produce a register report of all transaction
involving that account. involving that account.
@end table @end table
@node Adding and Editing Reports, Reversing Report Order, Running Basic Reports, The Report Buffer @node Adding and Editing Reports, Reversing Report Order, Running Basic Reports, The Report Buffer
@section Adding and Editing Reports @section Adding and Editing Reports
@menu @menu
* Expansion Formats:: * Expansion Formats::
* Make Report Transactions Active:: * Make Report Transactions Active::
@ -529,11 +549,11 @@ the report will be run, but it will not be permanently saved. If you
want to save it, type @code{S} in the @file{*Ledger Report*} buffer you want to save it, type @code{S} in the @file{*Ledger Report*} buffer you
will have the option to give it a new name, or overwrite the old report. will have the option to give it a new name, or overwrite the old report.
Deleting reports is accomplished by typing @code{C-c C-o C-e} Edit Reports Deleting reports is accomplished by typing @code{C-c C-o C-e} Edit
in the ledger buffer, or typing @code{e} in the @file{*Ledger Report*} Reports in the ledger buffer, or typing @code{e} in the @file{*Ledger
buffer. This takes you to the Emacs customization window for the Report*} buffer. This takes you to the Emacs customization window for
@code{ledger-reports} variable. Use the widgets to delete the report the @code{ledger-reports} variable. Use the widgets to delete the
you want removed. report you want removed.
@node Expansion Formats, Make Report Transactions Active, Adding and Editing Reports, Adding and Editing Reports @node Expansion Formats, Make Report Transactions Active, Adding and Editing Reports, Adding and Editing Reports
@subsection Expansion Formats @subsection Expansion Formats
@ -560,6 +580,7 @@ You can use these expansion values in your ledger report commands. For
example, if you wanted to specify a register report the displayed example, if you wanted to specify a register report the displayed
transactions from a user-determined account with a particular meta-data transactions from a user-determined account with a particular meta-data
tag value, you specify the following command line: tag value, you specify the following command line:
@smallexample @smallexample
ledger -f %(ledger-file) reg %(account) --limit \"tag('my-tag') =~/%(value)/\" ledger -f %(ledger-file) reg %(account) --limit \"tag('my-tag') =~/%(value)/\"
@end smallexample @end smallexample
@ -571,9 +592,9 @@ ledger -f %(ledger-file) reg %(account) --limit \"tag('my-tag') =~/%(value)/\"
In a large register report it is convenient to be able to jump to the In a large register report it is convenient to be able to jump to the
source transaction. Ledger-mode will automatically include source source transaction. Ledger-mode will automatically include source
information in every register file that doesn't contain a information in every register file that doesn't contain
@code{--subtotal} option. It does this by adding a a @code{--subtotal} option. It does this by adding
@code{--prepend-format='%(filename):%(beg_line):'} to the register a @code{--prepend-format='%(filename):%(beg_line):'} to the register
report command-line you specify. You should never have to see this, but report command-line you specify. You should never have to see this, but
if there is an error in your ledger output this additional information if there is an error in your ledger output this additional information
may not get stripped out of the visible report. may not get stripped out of the visible report.
@ -581,18 +602,18 @@ may not get stripped out of the visible report.
@node Reversing Report Order, , Adding and Editing Reports, The Report Buffer @node Reversing Report Order, , Adding and Editing Reports, The Report Buffer
@section Reversing Report Order @section Reversing Report Order
Often, banks show their online transaction histories with the most recent Often, banks show their online transaction histories with the most
transaction at the top. Ledger itself cannot do a sensible ledger recent transaction at the top. Ledger itself cannot do a sensible
report in reverse chronological order, if you sort on reverse date the ledger report in reverse chronological order, if you sort on reverse
calculation will also run in the opposite direction. If you want to date the calculation will also run in the opposite direction. If you
compare a ledger register report to a bank report with the most recent want to compare a ledger register report to a bank report with the most
transactions at the top, type R in the @file{*Ledger Report*} buffer and recent transactions at the top, type R in the @file{*Ledger Report*}
it will reverse the order of the transactions and maintain the proper buffer and it will reverse the order of the transactions and maintain
mathematical sense. the proper mathematical sense.
@node Customizing Ledger-mode, Generating Ledger Regression Tests, The Report Buffer, Top @node Customizing Ledger-mode, Generating Ledger Regression Tests, The Report Buffer, Top
@chapter Customizing Ledger-mode @chapter Customizing Ledger-mode
@menu @menu
* Ledger-mode Customization:: * Ledger-mode Customization::
* Customization Variables:: * Customization Variables::
@ -625,13 +646,16 @@ for Ledger under the data options. Alternately you can choose
@node Ledger Customization Group, Ledger Reconcile Customization Group, Customization Variables, Customization Variables @node Ledger Customization Group, Ledger Reconcile Customization Group, Customization Variables, Customization Variables
@subsection Ledger Customization Group @subsection Ledger Customization Group
@table @code @table @code
@item ledger-occur-use-face-shown @item ledger-occur-use-face-shown
If non-nil, use a custom face for xacts shown in `ledger-occur' mode using @code{ledger-occur-xact-face}. If non-nil, use a custom face for xacts shown in `ledger-occur' mode
using @code{ledger-occur-xact-face}.
@item ledger-clear-whole-transactions @item ledger-clear-whole-transactions
If non-nil, clear whole transactions, not individual postings. If non-nil, clear whole transactions, not individual postings.
@item ledger-highlight-xact-under-point @item ledger-highlight-xact-under-point
If non-nil, highlight xact under point using @code{ledger-font-highlight-face}. If non-nil, highlight xact under point using
@code{ledger-font-highlight-face}.
@end table @end table
@node Ledger Reconcile Customization Group, Ledger Report Customization Group, Ledger Customization Group, Customization Variables @node Ledger Reconcile Customization Group, Ledger Report Customization Group, Ledger Customization Group, Customization Variables
@ -642,19 +666,19 @@ for Ledger under the data options. Alternately you can choose
The default commodity for use in target calculations in ledger The default commodity for use in target calculations in ledger
reconcile. Defaults to $ (USD) reconcile. Defaults to $ (USD)
@item ledger-recon-buffer-name @item ledger-recon-buffer-name
Name to use for reconciliation window. Name to use for reconciliation window.
@item ledger-narrow-on-reconcile @item ledger-narrow-on-reconcile
If non-nil, limit transactions shown in main buffer to those matching the If non-nil, limit transactions shown in main buffer to those matching
reconcile regex. the reconcile regex.
@item ledger-buffer-tracks-reconcile-buffer @item ledger-buffer-tracks-reconcile-buffer
If non-nil, then when the cursor is moved to a new xact in the recon If non-nil, then when the cursor is moved to a new xact in the recon
window. window.
@item ledger-reconcile-force-window-bottom @item ledger-reconcile-force-window-bottom
If non-nil, make the reconcile window appear along the bottom of the If non-nil, make the reconcile window appear along the bottom of the
register window and resize. register window and resize.
@item ledger-reconcile-toggle-to-pending @item ledger-reconcile-toggle-to-pending
If non-nil, then toggle between uncleared and pending (@code{!}). If false If non-nil, then toggle between uncleared and pending (@code{!}). If
toggle between uncleared and cleared (@code{*}) false toggle between uncleared and cleared (@code{*})
@end table @end table
@node Ledger Report Customization Group, Ledger Faces Customization Group, Ledger Reconcile Customization Group, Customization Variables @node Ledger Report Customization Group, Ledger Faces Customization Group, Ledger Reconcile Customization Group, Customization Variables
@ -662,15 +686,17 @@ reconcile. Defaults to $ (USD)
@table @code @table @code
@item ledger-reports @item ledger-reports
Definition of reports to run. Definition of reports to run.
@item ledger-report-format-specifiers @item ledger-report-format-specifiers
An alist mapping ledger report format specifiers to implementing functions. An alist mapping ledger report format specifiers to implementing
functions.
@end table @end table
@node Ledger Faces Customization Group, Ledger Post Customization Group, Ledger Report Customization Group, Customization Variables @node Ledger Faces Customization Group, Ledger Post Customization Group, Ledger Report Customization Group, Customization Variables
@subsection Ledger Faces Customization Group @subsection Ledger Faces Customization Group
Ledger Faces : Ledger mode highlighting Ledger Faces : Ledger mode highlighting
@table @code @table @code
@item ledger-font-uncleared-face @item ledger-font-uncleared-face
Default face for Ledger Default face for Ledger
@ -688,7 +714,6 @@ Face for Ledger accounts
Face for cleared Ledger accounts Face for cleared Ledger accounts
@item ledger-font-posting-account-pending-face @item ledger-font-posting-account-pending-face
Face for Ledger pending accounts Face for Ledger pending accounts
@item ledger-font-posting-amount-face @item ledger-font-posting-amount-face
Face for Ledger amounts Face for Ledger amounts
@item ledger-occur-narrowed-face @item ledger-occur-narrowed-face
@ -709,9 +734,10 @@ Default face for pending (!) transactions in the reconcile window
@node Ledger Post Customization Group, Ledger Exec Customization Group, Ledger Faces Customization Group, Customization Variables @node Ledger Post Customization Group, Ledger Exec Customization Group, Ledger Faces Customization Group, Customization Variables
@subsection Ledger Post Customization Group @subsection Ledger Post Customization Group
Ledger Post :
@table @code
Ledger Post :
@table @code
@item ledger-post-auto-adjust-amounts @item ledger-post-auto-adjust-amounts
If non-nil, then automatically align amounts to column specified in If non-nil, then automatically align amounts to column specified in
@code{ledger-post-amount-alignment-column} @code{ledger-post-amount-alignment-column}
@ -736,14 +762,14 @@ Path to the ledger executable.
Location of the ledger initialization file. nil if you don't have one Location of the ledger initialization file. nil if you don't have one
@end table @end table
@node Ledger Test Customization Group, Ledger Texi Customization Group, Ledger Exec Customization Group, Customization Variables @node Ledger Test Customization Group, Ledger Texi Customization Group, Ledger Exec Customization Group, Customization Variables
@subsection Ledger Test Customization Group @subsection Ledger Test Customization Group
@table @code @table @code
@item ledger-source-directory @item ledger-source-directory
Directory where the Ledger sources are located. Directory where the Ledger sources are located.
@item ledger-test-binary @item ledger-test-binary
Directory where the debug binary. Directory where the debug binary.
@end table @end table
@node Ledger Texi Customization Group, , Ledger Test Customization Group, Customization Variables @node Ledger Texi Customization Group, , Ledger Test Customization Group, Customization Variables
@ -751,9 +777,11 @@ Location of the ledger initialization file. nil if you don't have one
@table @code @table @code
@item ledger-texi-sample-doc-path @item ledger-texi-sample-doc-path
Location for sample data to be used in texi tests, defaults to @file{~/ledger/doc/sample.dat} Location for sample data to be used in texi tests, defaults to
@file{~/ledger/doc/sample.dat}
@item ledger-texi-normalization-args @item ledger-texi-normalization-args
texi normalization for producing ledger output, defaults to ``@code{--args-only --columns 80}'' texi normalization for producing ledger output, defaults to
``@code{--args-only --columns 80}''
@end table @end table
@node Generating Ledger Regression Tests, Embedding Example results in Ledger Documentation, Customizing Ledger-mode, Top @node Generating Ledger Regression Tests, Embedding Example results in Ledger Documentation, Customizing Ledger-mode, Top
@ -770,4 +798,5 @@ Work in Progress.
@chapter Hacking Ledger-mode @chapter Hacking Ledger-mode
Work in Progress. Work in Progress.
@bye @bye