stockor 0.1.9 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +254 -72
- data/Guardfile +1 -1
- data/README.md +24 -3
- data/app.json +28 -0
- data/client/skr/Extension.coffee +18 -0
- data/client/skr/components/BankAccountFinder.cjsx +34 -0
- data/client/skr/components/Currency.cjsx +19 -0
- data/client/skr/components/CustomerFinder.cjsx +37 -0
- data/client/skr/components/CustomerLink.cjsx +13 -0
- data/client/skr/components/CustomerProjectFinder.cjsx +49 -0
- data/client/skr/components/GlAccountChooser.cjsx +38 -0
- data/client/skr/components/InvoiceFinder.cjsx +37 -0
- data/client/skr/components/InvoiceLink.cjsx +13 -0
- data/client/skr/components/LocationChooser.cjsx +37 -0
- data/client/skr/components/PaymentCategoryFinder.cjsx +34 -0
- data/client/skr/components/PrintFormChooser.cjsx +29 -0
- data/client/skr/components/SalesOrderFinder.cjsx +38 -0
- data/client/skr/components/ScreenControls.cjsx +20 -0
- data/client/skr/components/SkuFinder.cjsx +30 -0
- data/client/skr/components/SkuLines.cjsx +76 -0
- data/client/skr/components/SystemSettings.cjsx +26 -0
- data/client/skr/components/TermsChooser.cjsx +40 -0
- data/client/skr/components/ToolbarButton.cjsx +7 -0
- data/client/skr/components/TotalsLine.cjsx +21 -0
- data/client/skr/components/TriStateIcon.cjsx +12 -0
- data/client/skr/components/UOMChooser.cjsx +24 -0
- data/client/skr/components/UserPreferences.cjsx +30 -0
- data/client/skr/components/VendorFinder.cjsx +40 -0
- data/client/skr/components/address/Address.cjsx +10 -10
- data/client/skr/components/styles.scss +16 -0
- data/client/skr/index.js +3 -1
- data/client/skr/models/Address.coffee +9 -1
- data/client/skr/models/BankAccount.coffee +17 -0
- data/client/skr/models/Base.coffee +6 -0
- data/client/skr/models/Customer.coffee +17 -10
- data/client/skr/models/CustomerProject.coffee +29 -0
- data/client/skr/models/GlAccount.coffee +22 -10
- data/client/skr/models/GlManualEntry.coffee +4 -2
- data/client/skr/models/GlPeriod.coffee +4 -6
- data/client/skr/models/GlPosting.coffee +7 -7
- data/client/skr/models/GlTransaction.coffee +3 -3
- data/client/skr/models/IaLine.coffee +9 -9
- data/client/skr/models/IaReason.coffee +4 -4
- data/client/skr/models/InvLine.coffee +30 -11
- data/client/skr/models/InventoryAdjustment.coffee +8 -6
- data/client/skr/models/Invoice.coffee +89 -18
- data/client/skr/models/Location.coffee +27 -6
- data/client/skr/models/Payment.coffee +36 -0
- data/client/skr/models/PaymentCategory.coffee +12 -0
- data/client/skr/models/PaymentTerm.coffee +17 -4
- data/client/skr/models/PickTicket.coffee +7 -5
- data/client/skr/models/PoLine.coffee +15 -15
- data/client/skr/models/PoReceipt.coffee +8 -6
- data/client/skr/models/PorLine.coffee +11 -11
- data/client/skr/models/PricingProvider.coffee +6 -0
- data/client/skr/models/PtLine.coffee +13 -13
- data/client/skr/models/PurchaseOrder.coffee +11 -9
- data/client/skr/models/SalesOrder.coffee +59 -22
- data/client/skr/models/Sku.coffee +17 -15
- data/client/skr/models/SkuLoc.coffee +14 -9
- data/client/skr/models/SkuTran.coffee +10 -10
- data/client/skr/models/SkuVendor.coffee +9 -9
- data/client/skr/models/SoLine.coffee +27 -20
- data/client/skr/models/TimeEntry.coffee +75 -0
- data/client/skr/models/Uom.coffee +27 -6
- data/client/skr/models/Vendor.coffee +14 -12
- data/client/skr/models/VoLine.coffee +11 -11
- data/client/skr/models/Voucher.coffee +7 -5
- data/client/skr/models/mixins/HasVisibleId.coffee +7 -0
- data/client/skr/models/mixins/PrintSupport.coffee +6 -0
- data/client/skr/models/mixins/SkuLine.coffee +61 -0
- data/client/skr/screens/Commands.coffee +29 -0
- data/client/skr/screens/bank-maint/BankMaint.cjsx +43 -0
- data/client/skr/screens/bank-maint/index.js +5 -0
- data/client/skr/screens/chart-of-accounts/ChartOfAccounts.cjsx +40 -0
- data/client/skr/screens/chart-of-accounts/index.js +1 -0
- data/client/skr/screens/chart-of-accounts/index.scss +12 -0
- data/client/skr/screens/customer-maint/CustomerMaint.cjsx +35 -36
- data/client/skr/screens/customer-projects/CustomerProjects.cjsx +70 -0
- data/client/skr/screens/customer-projects/index.js +5 -0
- data/client/skr/screens/customer-projects/index.scss +25 -0
- data/client/skr/screens/fresh-books-import/ApiInfo.cjsx +35 -0
- data/client/skr/screens/fresh-books-import/ChooseRecords.cjsx +116 -0
- data/client/skr/screens/fresh-books-import/FreshBooksImport.cjsx +31 -0
- data/client/skr/screens/fresh-books-import/Import.coffee +52 -0
- data/client/skr/screens/fresh-books-import/ViewRecords.cjsx +96 -0
- data/client/skr/screens/fresh-books-import/index.js +1 -0
- data/client/skr/screens/fresh-books-import/index.scss +39 -0
- data/client/skr/screens/gl-accounts/GlAccounts.cjsx +31 -0
- data/client/skr/screens/gl-accounts/index.js +5 -0
- data/client/skr/screens/gl-transactions/GlTransactions.cjsx +46 -0
- data/client/skr/screens/gl-transactions/index.js +1 -0
- data/client/skr/screens/gl-transactions/index.scss +12 -0
- data/client/skr/screens/invoice/Invoice.cjsx +92 -0
- data/client/skr/screens/invoice/Payment.cjsx +28 -0
- data/client/skr/screens/invoice/index.js +5 -0
- data/client/skr/screens/locations/Locations.cjsx +31 -0
- data/client/skr/screens/locations/index.js +5 -0
- data/client/skr/screens/payment-category/PaymentCategory.cjsx +28 -0
- data/client/skr/screens/payment-category/index.js +5 -0
- data/client/skr/screens/payment-category/index.scss +9 -0
- data/client/skr/screens/payment-terms/PaymentTerms.cjsx +28 -0
- data/client/skr/screens/payment-terms/index.js +5 -0
- data/client/skr/screens/payment-terms/index.scss +9 -0
- data/client/skr/screens/payments/Payments.cjsx +59 -0
- data/client/skr/screens/payments/index.js +5 -0
- data/client/skr/screens/sales-order/SalesOrder.cjsx +68 -0
- data/client/skr/screens/sales-order/index.js +1 -5
- data/client/skr/screens/sku-maint/SkuMaint.cjsx +53 -0
- data/client/skr/screens/sku-maint/SkuUomList.cjsx +209 -0
- data/client/skr/screens/sku-maint/index.js +2 -5
- data/client/skr/screens/sku-maint/index.scss +37 -6
- data/client/skr/screens/time-invoicing/TimeInvoicing.cjsx +156 -0
- data/client/skr/screens/time-invoicing/index.js +5 -0
- data/client/skr/screens/time-invoicing/index.scss +7 -0
- data/client/skr/screens/time-tracking/EditEntry.cjsx +54 -0
- data/client/skr/screens/time-tracking/Entries.coffee +132 -0
- data/client/skr/screens/time-tracking/Header.cjsx +71 -0
- data/client/skr/screens/time-tracking/Popover.cjsx +70 -0
- data/client/skr/screens/time-tracking/PopoverMiniControls.cjsx +25 -0
- data/client/skr/screens/time-tracking/TimeTracking.cjsx +63 -0
- data/client/skr/screens/time-tracking/WeekSummary.cjsx +16 -0
- data/client/skr/screens/time-tracking/index.js +1 -0
- data/client/skr/screens/time-tracking/index.scss +126 -0
- data/client/skr/screens/vendor-maint/VendorMaint.cjsx +45 -0
- data/client/skr/screens/vendor-maint/index.js +1 -5
- data/client/skr/styles.scss +1 -13
- data/config/puma.rb +4 -0
- data/config/routes.rb +21 -9
- data/config/screens.rb +147 -32
- data/db/migrate/20140202194700_create_skr_gl_transaction_details.rb +35 -0
- data/db/migrate/20140220031800_create_skr_locations.rb +2 -0
- data/db/migrate/20140220190836_create_skr_vendors.rb +1 -0
- data/db/migrate/20140220203029_create_skr_customers.rb +3 -2
- data/db/migrate/20140224034759_create_skr_skus.rb +2 -3
- data/db/migrate/20140322223912_create_skr_sales_orders.rb +4 -3
- data/db/migrate/20140322223920_create_skr_so_lines.rb +4 -5
- data/db/migrate/20140323001446_create_so_details_view.rb +7 -5
- data/db/migrate/20140327202209_create_skr_pt_lines.rb +2 -2
- data/db/migrate/20140327214000_create_customer_project.rb +16 -0
- data/db/migrate/20140327223002_create_time_entries.rb +17 -0
- data/db/migrate/20140327224000_create_skr_invoices.rb +5 -1
- data/db/migrate/20140327224002_create_skr_inv_lines.rb +3 -1
- data/db/migrate/20140422024010_create_skr_inv_details_view.rb +1 -1
- data/db/migrate/20151121211323_create_customer_project_details_views.rb +31 -0
- data/db/migrate/20160216142845_create_gl_account_balances_view.rb +20 -0
- data/db/migrate/20160229002044_create_bank_accounts.rb +18 -0
- data/db/migrate/20160229041711_create_payments.rb +33 -0
- data/db/migrate/20160307022705_create_create_combined_uom_views.rb +18 -0
- data/db/schema.sql +639 -140
- data/db/seed/chart_of_accounts.yml +8 -6
- data/db/seed/payment_categories.yml +12 -0
- data/db/seed/skus.yml +32 -0
- data/db/seed.rb +21 -0
- data/lib/skr/access_roles.rb +19 -6
- data/lib/skr/concerns/has_sku_loc_lines.rb +0 -16
- data/lib/skr/concerns/inv_extensions.rb +24 -0
- data/lib/skr/concerns/is_sku_loc_line.rb +3 -4
- data/lib/skr/concerns/so_extensions.rb +8 -0
- data/lib/skr/concerns/visible_id_identifier.rb +1 -1
- data/lib/skr/db/migration_helpers.rb +2 -4
- data/lib/skr/extension.rb +11 -4
- data/lib/skr/handlers/fresh_books_import.rb +20 -0
- data/lib/skr/handlers/invoice_from_time_entries.rb +49 -0
- data/lib/skr/jobs/fresh_books/base.rb +54 -0
- data/lib/skr/jobs/fresh_books/import.rb +151 -0
- data/lib/skr/jobs/fresh_books/retrieve.rb +62 -0
- data/lib/skr/model.rb +5 -0
- data/lib/skr/models/address.rb +1 -1
- data/lib/skr/models/bank_account.rb +13 -0
- data/lib/skr/models/business_entity.rb +3 -0
- data/lib/skr/models/customer.rb +1 -1
- data/lib/skr/models/customer_project.rb +22 -0
- data/lib/skr/models/gl_account.rb +13 -3
- data/lib/skr/models/gl_period.rb +6 -0
- data/lib/skr/models/gl_posting.rb +7 -4
- data/lib/skr/models/gl_transaction.rb +19 -33
- data/lib/skr/models/ia_line.rb +1 -1
- data/lib/skr/models/inv_line.rb +33 -15
- data/lib/skr/models/invoice.rb +47 -20
- data/lib/skr/models/location.rb +7 -1
- data/lib/skr/models/payment.rb +49 -0
- data/lib/skr/models/payment_category.rb +11 -0
- data/lib/skr/models/payment_term.rb +1 -1
- data/lib/skr/models/por_line.rb +1 -1
- data/lib/skr/models/pt_line.rb +1 -1
- data/lib/skr/models/sales_order.rb +9 -9
- data/lib/skr/models/sku_loc.rb +1 -1
- data/lib/skr/models/sku_tran.rb +6 -11
- data/lib/skr/models/so_line.rb +22 -12
- data/lib/skr/models/time_entry.rb +36 -0
- data/lib/skr/models/uom.rb +11 -10
- data/lib/skr/models/user_proxy.rb +1 -1
- data/lib/skr/number.rb +25 -0
- data/lib/skr/print/form.rb +46 -0
- data/lib/skr/print/template.rb +48 -0
- data/lib/skr/print.rb +11 -0
- data/lib/skr/string.rb +11 -0
- data/lib/skr/version.rb +1 -1
- data/lib/skr.rb +9 -0
- data/spec/fixtures/skr/address.yml +164 -4
- data/spec/fixtures/skr/bank_account.yml +8 -0
- data/spec/fixtures/skr/customer.yml +30 -4
- data/spec/fixtures/skr/customer_project.yml +20 -0
- data/spec/fixtures/skr/gl_account.yml +19 -1
- data/spec/fixtures/skr/gl_period.yml +3 -0
- data/spec/fixtures/skr/gl_posting.yml +22 -1
- data/spec/fixtures/skr/gl_transaction.yml +4 -1
- data/spec/fixtures/skr/inv_line.yml +35 -0
- data/spec/fixtures/skr/invoice.yml +13 -2
- data/spec/fixtures/skr/location.yml +5 -0
- data/spec/fixtures/skr/payment.yml +10 -0
- data/spec/fixtures/skr/payment_category.yml +8 -0
- data/spec/fixtures/skr/payment_term.yml +37 -3
- data/spec/fixtures/skr/sales_order.yml +12 -1
- data/spec/fixtures/skr/sku.yml +78 -1
- data/spec/fixtures/skr/sku_loc.yml +42 -1
- data/spec/fixtures/skr/sku_tran.yml +24 -1
- data/spec/fixtures/skr/so_line.yml +32 -0
- data/spec/fixtures/skr/time_entry.yml +82 -0
- data/spec/fixtures/skr/uom.yml +52 -1
- data/spec/fixtures/skr/vendor.yml +28 -1
- data/spec/fixtures/stockor.png +0 -0
- data/spec/server/bank_account_spec.rb +10 -0
- data/spec/server/customer_project_spec.rb +10 -0
- data/spec/server/handlers/invoice_from_time_entries_spec.rb +49 -0
- data/spec/server/jobs/fresh_books/import_spec.rb +69 -0
- data/spec/server/jobs/fresh_books/retrieve_spec.rb +37 -0
- data/spec/server/models/address_spec.rb +4 -3
- data/spec/server/models/gl_transaction_spec.rb +3 -3
- data/spec/server/models/inv_line_spec.rb +83 -3
- data/spec/server/models/invoice_spec.rb +32 -3
- data/spec/server/models/payment_spec.rb +40 -0
- data/spec/server/models/sales_order_spec.rb +1 -1
- data/spec/server/models/so_line_spec.rb +3 -3
- data/spec/server/models/spec_helper_spec.rb +1 -1
- data/spec/server/payment_spec.rb +10 -0
- data/spec/server/print/form_spec.rb +47 -0
- data/spec/server/print/template_spec.rb +36 -0
- data/spec/server/spec_helper.rb +14 -1
- data/spec/server/time_entry_spec.rb +10 -0
- data/spec/skr/components/SkuLinesSpec.coffee +61 -0
- data/spec/skr/models/BankAccountSpec.coffee +5 -0
- data/spec/skr/models/CustomerProjectSpec.coffee +5 -0
- data/spec/skr/models/CustomerSpec.coffee +2 -2
- data/spec/skr/models/PaymentSpec.coffee +5 -0
- data/spec/skr/models/SalesOrderSpec.coffee +21 -5
- data/spec/skr/models/SoLineSpec.coffee +7 -2
- data/spec/skr/models/TimeEntrySpec.coffee +5 -0
- data/spec/skr/screens/bank-maint/BankMaintSpec.coffee +5 -0
- data/spec/skr/screens/customer-projects/CustomerProjectsSpec.coffee +5 -0
- data/spec/skr/screens/fresh-books-import/FreshBooksImportSpec.coffee +1 -0
- data/spec/skr/screens/gl-accounts/GlAccountsSpec.coffee +5 -0
- data/spec/skr/screens/invoice/InvoiceSpec.coffee +5 -0
- data/spec/skr/screens/locations/LocationsSpec.coffee +5 -0
- data/spec/skr/screens/payment-category/PaymentCategorySpec.coffee +5 -0
- data/spec/skr/screens/payment-terms/PaymentTermsSpec.coffee +5 -0
- data/spec/skr/screens/payments/PaymentsSpec.coffee +5 -0
- data/spec/skr/screens/time-invoicing/TimeInvoicingSpec.coffee +5 -0
- data/spec/skr/screens/time-tracking/TimeTrackingSpec.coffee +14 -0
- data/spec/vcr/freshbooks.yml +698 -0
- data/stockor.gemspec +5 -1
- data/templates/print/fonts/GnuMICR.otf +0 -0
- data/templates/print/layout.tex.erb +39 -0
- data/templates/print/packages/booktabs.sty +182 -0
- data/templates/print/packages/fancybox.sty +966 -0
- data/templates/print/packages/fancyhdr.sty +485 -0
- data/templates/print/packages/graphbox.sty +129 -0
- data/templates/print/packages/lastpage.sty +283 -0
- data/templates/print/packages/lastpage209.sty +70 -0
- data/templates/print/packages/marginnote.sty +412 -0
- data/templates/print/packages/multirow.sty +159 -0
- data/templates/print/packages/rotating.sty +282 -0
- data/templates/print/packages/tabu.sty +2557 -0
- data/templates/print/packages/textpos.sty +361 -0
- data/templates/print/packages/varwidth.sty +318 -0
- data/templates/print/partials/address.tex.erb +6 -0
- data/templates/print/partials/bill_to_ship_to.tex.erb +13 -0
- data/templates/print/partials/header.tex.erb +13 -0
- data/templates/print/partials/invoice_paid_state.tex.erb +2 -0
- data/templates/print/partials/old/inv_lines_grouping.tex.erb +8 -0
- data/templates/print/partials/old/labor_lines_footer.tex.erb +18 -0
- data/templates/print/partials/skus_table.tex.erb +32 -0
- data/templates/print/partials/skus_table_col_hdr.tex.erb +8 -0
- data/templates/print/partials/skus_table_footer.tex.erb +5 -0
- data/templates/print/partials/skus_table_group_footer.tex.erb +4 -0
- data/templates/print/partials/skus_table_invoice_footer.tex.erb +25 -0
- data/templates/print/partials/skus_table_invoice_info_line.tex.erb +16 -0
- data/templates/print/partials/skus_table_labor_col_hdr.tex.erb +8 -0
- data/templates/print/partials/skus_table_labor_group_footer.tex.erb +7 -0
- data/templates/print/partials/skus_table_labor_line.tex.erb +11 -0
- data/templates/print/partials/skus_table_line.tex.erb +6 -0
- data/templates/print/partials/skus_table_other_charge_lines.tex.erb +7 -0
- data/templates/print/partials/so_info_line.tex.erb +14 -0
- data/templates/print/types/invoice/default.tex.erb +13 -0
- data/templates/print/types/invoice/labor.tex.erb +33 -0
- data/templates/print/types/payment/default.tex.erb +64 -0
- data/templates/print/types/sales-order/default.tex.erb +8 -0
- metadata +252 -15
- data/client/skr/components/address/address.html +0 -20
- data/client/skr/models/mixins/CodeField.coffee +0 -5
- data/client/skr/screens/customer-maint/index.scss +0 -11
- data/client/skr/screens/customer-maint/layout.html +0 -32
- data/client/skr/screens/sales-order/SalesOrder.coffee +0 -30
- data/client/skr/screens/sales-order/index.scss +0 -8
- data/client/skr/screens/sales-order/layout.html +0 -30
- data/client/skr/screens/sku-maint/SkuMaint.coffee +0 -18
- data/client/skr/screens/sku-maint/layout.html +0 -16
- data/client/skr/screens/vendor-maint/VendorMaint.coffee +0 -28
- data/client/skr/screens/vendor-maint/index.scss +0 -8
- data/client/skr/screens/vendor-maint/layout.html +0 -32
@@ -0,0 +1,283 @@
|
|
1
|
+
%%
|
2
|
+
%% This is file `lastpage.sty',
|
3
|
+
%% generated with the docstrip utility.
|
4
|
+
%%
|
5
|
+
%% The original source files were:
|
6
|
+
%%
|
7
|
+
%% lastpage.dtx (with options: `package')
|
8
|
+
%%
|
9
|
+
%% This is a generated file.
|
10
|
+
%%
|
11
|
+
%% Project: lastpage
|
12
|
+
%% Version: 2015/03/29 v1.2m
|
13
|
+
%%
|
14
|
+
%% Copyright (C) 2010 - 2015 by
|
15
|
+
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
|
16
|
+
%% Portions of code copyrighted by other people as marked.
|
17
|
+
%%
|
18
|
+
%% The usual disclaimer applies:
|
19
|
+
%% If it doesn't work right that's your problem.
|
20
|
+
%% (Nevertheless, send an e-mail to the maintainer
|
21
|
+
%% when you find an error in this package.)
|
22
|
+
%%
|
23
|
+
%% This work may be distributed and/or modified under the
|
24
|
+
%% conditions of the LaTeX Project Public License, either
|
25
|
+
%% version 1.3c of this license or (at your option) any later
|
26
|
+
%% version. This version of this license is in
|
27
|
+
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
|
28
|
+
%% and the latest version of this license is in
|
29
|
+
%% http://www.latex-project.org/lppl.txt
|
30
|
+
%% and version 1.3c or later is part of all distributions of
|
31
|
+
%% LaTeX version 2005/12/01 or later.
|
32
|
+
%%
|
33
|
+
%% This work has the LPPL maintenance status "maintained".
|
34
|
+
%%
|
35
|
+
%% The Current Maintainer of this work is H.-Martin Muench.
|
36
|
+
%%
|
37
|
+
%% This package was invented by
|
38
|
+
%% Jeffrey P. Goldberg (jeffrey+news at goldmark dot org).
|
39
|
+
%% I thought that a replacement was needed and therefore created the pageslts package,
|
40
|
+
%% https://www.ctan.org/pkg/pageslts
|
41
|
+
%% . Nevertheless, for compatibility with existing documents/packages as well as for
|
42
|
+
%% the low amount of resources needed by the lastpage package (no new counter!),
|
43
|
+
%% I updated this package.
|
44
|
+
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
|
45
|
+
%%
|
46
|
+
%% This work consists of the main source file lastpage.dtx,
|
47
|
+
%% the README, and the derived files
|
48
|
+
%% lastpage.sty, lastpage.pdf,
|
49
|
+
%% lastpage.ins, lastpage.drv,
|
50
|
+
%% lastpage-example.tex, lastpage-example.pdf.
|
51
|
+
%%
|
52
|
+
%% In memoriam
|
53
|
+
%% Claudia Simone Barth + 1996/01/30
|
54
|
+
%% Tommy Muench + 2014/01/02
|
55
|
+
%% Hans-Klaus Muench + 2014/08/24
|
56
|
+
%%
|
57
|
+
\NeedsTeXFormat{LaTeX2e}[2014/05/01]
|
58
|
+
\ProvidesPackage{lastpage}%
|
59
|
+
[2015/03/29 v1.2m Refers to last page's name (HMM; JPG)]%
|
60
|
+
|
61
|
+
%% lastpage may work with earlier versions of LaTeX,
|
62
|
+
%% but this was not tested. Please consider updating
|
63
|
+
%% your LaTeX (and packages) to the most recent version
|
64
|
+
%% (if it is/they are not already the most recent version).
|
65
|
+
|
66
|
+
%% Allows for things like
|
67
|
+
%% Page \thepage{} of \pageref{LastPage}
|
68
|
+
%% to get
|
69
|
+
%% 'Page 7 of 9'.
|
70
|
+
%% For LaTeX 2.09 use lastpage209.sty.
|
71
|
+
%% For LaTeX 2e maybe consider upgrading to the pageslts package.
|
72
|
+
%% lastpage may work with earlier versions of LaTeX2e,
|
73
|
+
%% but this was not tested. Please consider updating your LaTeX
|
74
|
+
%% contribution to the most recent version (if it is not already
|
75
|
+
%% the most recent version).
|
76
|
+
|
77
|
+
%% The recent version of the endfloat package is v2.5d as of 2011/12/25.
|
78
|
+
%% The lastpage package is not fully compatible with version 2.0
|
79
|
+
%% (and earlier) of the endfloat package, because those versions
|
80
|
+
%% redefined the \enddocument command.
|
81
|
+
|
82
|
+
\def\lastpage@one{1}
|
83
|
+
\gdef\lastpage@hyper{0}
|
84
|
+
\gdef\lastpage@nameref{0}
|
85
|
+
\gdef\lastpage@LTS{0}
|
86
|
+
\def\lastpage@firstpage{1}
|
87
|
+
|
88
|
+
\AtBeginDocument{%
|
89
|
+
\@ifpackageloaded{tikz}{\gdef\lastpage@tikz{1}}{}%
|
90
|
+
\@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}%
|
91
|
+
\@ifpackageloaded{nameref}{\gdef\lastpage@nameref{1}}{}%
|
92
|
+
\@ifpackageloaded{pageslts}{%
|
93
|
+
\PackageWarning{lastpage}{Package pageslts found.\MessageBreak%
|
94
|
+
Therefore the lastpage package is no longer\MessageBreak%
|
95
|
+
necessary.%
|
96
|
+
}%
|
97
|
+
\gdef\lastpage@LTS{1}%
|
98
|
+
}{\PackageInfo{lastpage}{%
|
99
|
+
Please have a look at the pageslts package at\MessageBreak%
|
100
|
+
https://www.ctan.org/pkg/pageslts\MessageBreak%
|
101
|
+
!}%
|
102
|
+
}%
|
103
|
+
\@ifpackageloaded{pagesLTS}{%
|
104
|
+
\PackageWarning{lastpage}{%
|
105
|
+
Outdated pagesLTS package found.\MessageBreak%
|
106
|
+
Please replace by a recent version of\MessageBreak%
|
107
|
+
pageslts package, see e.g. at\MessageBreak%
|
108
|
+
https://www.ctan.org/pkg/pageslts\MessageBreak%
|
109
|
+
!\MessageBreak%
|
110
|
+
With pagesLTS as well as pageslts package\MessageBreak%
|
111
|
+
the lastpage package is no longer necessary.\MessageBreak%
|
112
|
+
}%
|
113
|
+
\gdef\lastpage@LTS{1}%
|
114
|
+
}{}%
|
115
|
+
\gdef\lastpage@putlabel{\relax}%
|
116
|
+
}
|
117
|
+
|
118
|
+
\newcommand{\lastpage@putl@bel}{%
|
119
|
+
\@ifundefined{Hy@Warning}{% hyperref not loaded
|
120
|
+
}{\gdef\lastpage@hyper{1}% hyperref loaded
|
121
|
+
}%
|
122
|
+
\ifx\lastpage@LTS\lastpage@one%
|
123
|
+
\else%
|
124
|
+
\ifx\lastpage@hyper\lastpage@one%
|
125
|
+
\lastpage@putlabelhyper%
|
126
|
+
\else%
|
127
|
+
\ifx\lastpage@nameref\lastpage@one%
|
128
|
+
\lastpage@putlabelNR%
|
129
|
+
\else%
|
130
|
+
\begingroup%
|
131
|
+
\addtocounter{page}{-1}%
|
132
|
+
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}%
|
133
|
+
\immediate\write\@auxout{\string\xdef\string\lastpage@lastpage{\thepage}}%
|
134
|
+
\immediate\write\@auxout{\string\gdef\string\lastpage@lastpageHy{}}%
|
135
|
+
\addtocounter{page}{+1}%
|
136
|
+
\endgroup%
|
137
|
+
\fi%
|
138
|
+
\fi%
|
139
|
+
\fi%
|
140
|
+
}
|
141
|
+
|
142
|
+
\newcommand{\lastpage@putlabelhyper}{%
|
143
|
+
\ifHy@pageanchor%
|
144
|
+
\else%
|
145
|
+
\PackageError{lastpage}{hyperref option pageanchor disabled}{%
|
146
|
+
The \string\pageref{LastPage} link doesn't work\MessageBreak%
|
147
|
+
using hyperref with disabled option `pageanchor'.\MessageBreak%
|
148
|
+
}%
|
149
|
+
\fi%
|
150
|
+
\begingroup%
|
151
|
+
\addtocounter{page}{-1}%
|
152
|
+
%% The following code is from the hyperref package %%
|
153
|
+
%% [2010/04/17 v6.80x; newer versions are available] %%
|
154
|
+
%% by Heiko Oberdiek (Big Thanks!). %%
|
155
|
+
\let\@number\@firstofone
|
156
|
+
\ifHy@pageanchor
|
157
|
+
\ifHy@hypertexnames
|
158
|
+
\ifHy@plainpages
|
159
|
+
\def\Hy@temp{\arabic{page}}%
|
160
|
+
\else
|
161
|
+
\Hy@unicodefalse
|
162
|
+
%% Code not from hyperref package: %%
|
163
|
+
%% The following lines are taken from the pageslts package, %%
|
164
|
+
%% which in turn got them from the hyperref package and %%
|
165
|
+
%% modified them. %%
|
166
|
+
%% Without the modification, after the first shipout "PD1" %%
|
167
|
+
%% is inserted each time |\pdfstringdef\Hy@temp{\thepage}| %%
|
168
|
+
%% is executed. %%
|
169
|
+
\ifnum \value{page}=1%
|
170
|
+
\ifx \lastpage@firstpage\lastpage@one
|
171
|
+
\def\Hy@temp{\thepage}%
|
172
|
+
\gdef\lastpage@firstpage{0}%
|
173
|
+
\else%
|
174
|
+
%% Code from hyperref package again: %%
|
175
|
+
\pdfstringdef\Hy@temp{\thepage}%
|
176
|
+
%% End of code from the hyperref package. %%
|
177
|
+
\fi%
|
178
|
+
%% The pageslts package would even check for fnsymbol page %%
|
179
|
+
%% numbering scheme and adapt the code correspondingly. %%
|
180
|
+
\else%
|
181
|
+
%% Code from hyperref package again: %%
|
182
|
+
\pdfstringdef\Hy@temp{\thepage}%
|
183
|
+
%% Code from pageslts package again: %%
|
184
|
+
\fi%
|
185
|
+
%% Code from hyperref package again: %%
|
186
|
+
\fi
|
187
|
+
\else
|
188
|
+
\def\Hy@temp{\the\Hy@pagecounter}%
|
189
|
+
\fi
|
190
|
+
\fi
|
191
|
+
\immediate\write\@auxout{%
|
192
|
+
\string\newlabel
|
193
|
+
{LastPage}{{}{\thepage}{}{%
|
194
|
+
\ifHy@pageanchor page.\Hy@temp\fi}{}}%
|
195
|
+
}%
|
196
|
+
%% End of code from the hyperref package. %%
|
197
|
+
\immediate\write\@auxout{%
|
198
|
+
\string\xdef\string\lastpage@lastpage{\thepage}}%
|
199
|
+
\ifHy@pageanchor%
|
200
|
+
\immediate\write\@auxout{%
|
201
|
+
\string\xdef\string\lastpage@lastpageHy{\Hy@temp}}%
|
202
|
+
\else%
|
203
|
+
\immediate\write\@auxout{%
|
204
|
+
\string\gdef\string\lastpage@lastpageHy{}}%
|
205
|
+
\fi%
|
206
|
+
\addtocounter{page}{+1}%
|
207
|
+
\endgroup%
|
208
|
+
}
|
209
|
+
|
210
|
+
\newcommand{\lastpage@putlabelNR}{%
|
211
|
+
\begingroup%
|
212
|
+
\addtocounter{page}{-1}%
|
213
|
+
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
|
214
|
+
\immediate\write\@auxout{\string\xdef\string\lastpage@lastpage{\thepage}}%
|
215
|
+
\immediate\write\@auxout{\string\gdef\string\lastpage@lastpageHy{}}%
|
216
|
+
\addtocounter{page}{+1}%
|
217
|
+
\endgroup%
|
218
|
+
}
|
219
|
+
|
220
|
+
\newcommand{\lastpage@fileswtest}[2]{%
|
221
|
+
\edef\lastpage@testa{#1}%
|
222
|
+
\edef\lastpage@testb{#2}%
|
223
|
+
\ifx\lastpage@testa\lastpage@testb% OK
|
224
|
+
\else%
|
225
|
+
\ifx\lastpage@tikz\lastpage@one%
|
226
|
+
\PackageWarning{lastpage}%
|
227
|
+
{The lastpage package was not allowed to write to an\MessageBreak%
|
228
|
+
.aux file. This package does not work without access\MessageBreak%
|
229
|
+
to an .aux file.\MessageBreak%
|
230
|
+
It is OK if the .aux file was already updated\MessageBreak%
|
231
|
+
by a previouse compiler run\MessageBreak%
|
232
|
+
and would not have changed anyway.\MessageBreak%
|
233
|
+
}%
|
234
|
+
\else%
|
235
|
+
\PackageError{lastpage}{No auxiliary file allowed}%
|
236
|
+
{The lastpage package was not allowed to write to an .aux file.\MessageBreak%
|
237
|
+
This package does not work without access to an .aux file.\MessageBreak%
|
238
|
+
Press Ctrl+Z to exit.\MessageBreak%
|
239
|
+
}%
|
240
|
+
\fi%
|
241
|
+
\fi%
|
242
|
+
}
|
243
|
+
\newcommand{\lastpage@fileswtestHy}{%
|
244
|
+
\ifHy@pageanchor%
|
245
|
+
\lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}%
|
246
|
+
\else%
|
247
|
+
\lastpage@fileswtest{\empty}{\lastpage@lastpageHy}%
|
248
|
+
\fi%
|
249
|
+
}
|
250
|
+
|
251
|
+
\AtEndDocument{%
|
252
|
+
\gdef\lastpage@putlabel{\relax}%
|
253
|
+
\ifx\lastpage@LTS\lastpage@one%
|
254
|
+
\else%
|
255
|
+
\@ifundefined{lastpage@lastpage}%
|
256
|
+
{\gdef\lastpage@lastpage{LastpagePackageError}%
|
257
|
+
% If there really is a page numbered (!) "LastpagePackageError",
|
258
|
+
% you will get the rerun warning whether it is necessary or not.
|
259
|
+
\PackageWarning{lastpage}{Rerun to get the references right}%
|
260
|
+
}{% already defined, nothing to be done.
|
261
|
+
}%
|
262
|
+
\@ifundefined{lastpage@lastpageHy}%
|
263
|
+
{\gdef\lastpage@lastpageHy{LastpagePackageError}%
|
264
|
+
}{% already defined, nothing to be done.
|
265
|
+
}%
|
266
|
+
\fi%
|
267
|
+
\if@filesw%
|
268
|
+
\message{^^JAED: lastpage setting LastPage^^J}%
|
269
|
+
\clearpage\lastpage@putl@bel%
|
270
|
+
\else%
|
271
|
+
\ifx\lastpage@LTS\lastpage@one%
|
272
|
+
\else%
|
273
|
+
\lastpage@fileswtest{\thepage}{\lastpage@lastpage}%
|
274
|
+
\ifx\lastpage@hyper\lastpage@one%
|
275
|
+
\lastpage@fileswtestHy%
|
276
|
+
\fi%
|
277
|
+
\fi%
|
278
|
+
\fi%
|
279
|
+
}
|
280
|
+
|
281
|
+
\endinput
|
282
|
+
%%
|
283
|
+
%% End of file `lastpage.sty'.
|
@@ -0,0 +1,70 @@
|
|
1
|
+
%%
|
2
|
+
%% This is file `lastpage209.sty',
|
3
|
+
%% generated with the docstrip utility.
|
4
|
+
%%
|
5
|
+
%% The original source files were:
|
6
|
+
%%
|
7
|
+
%% lastpage.dtx (with options: `lastpage209')
|
8
|
+
%%
|
9
|
+
%% This is a generated file.
|
10
|
+
%%
|
11
|
+
%% Project: lastpage
|
12
|
+
%% Version: 2015/03/29 v1.2m
|
13
|
+
%%
|
14
|
+
%% Copyright (C) 2010 - 2015 by
|
15
|
+
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
|
16
|
+
%% Portions of code copyrighted by other people as marked.
|
17
|
+
%%
|
18
|
+
%% The usual disclaimer applies:
|
19
|
+
%% If it doesn't work right that's your problem.
|
20
|
+
%% (Nevertheless, send an e-mail to the maintainer
|
21
|
+
%% when you find an error in this package.)
|
22
|
+
%%
|
23
|
+
%% This work may be distributed and/or modified under the
|
24
|
+
%% conditions of the LaTeX Project Public License, either
|
25
|
+
%% version 1.3c of this license or (at your option) any later
|
26
|
+
%% version. This version of this license is in
|
27
|
+
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
|
28
|
+
%% and the latest version of this license is in
|
29
|
+
%% http://www.latex-project.org/lppl.txt
|
30
|
+
%% and version 1.3c or later is part of all distributions of
|
31
|
+
%% LaTeX version 2005/12/01 or later.
|
32
|
+
%%
|
33
|
+
%% This work has the LPPL maintenance status "maintained".
|
34
|
+
%%
|
35
|
+
%% The Current Maintainer of this work is H.-Martin Muench.
|
36
|
+
%%
|
37
|
+
%% This package was invented by
|
38
|
+
%% Jeffrey P. Goldberg (jeffrey+news at goldmark dot org).
|
39
|
+
%% I thought that a replacement was needed and therefore created the pageslts package,
|
40
|
+
%% https://www.ctan.org/pkg/pageslts
|
41
|
+
%% . Nevertheless, for compatibility with existing documents/packages as well as for
|
42
|
+
%% the low amount of resources needed by the lastpage package (no new counter!),
|
43
|
+
%% I updated this package.
|
44
|
+
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
|
45
|
+
%%
|
46
|
+
%% This work consists of the main source file lastpage.dtx,
|
47
|
+
%% the README, and the derived files
|
48
|
+
%% lastpage.sty, lastpage.pdf,
|
49
|
+
%% lastpage.ins, lastpage.drv,
|
50
|
+
%% lastpage-example.tex, lastpage-example.pdf.
|
51
|
+
%%
|
52
|
+
%% In memoriam
|
53
|
+
%% Claudia Simone Barth + 1996/01/30
|
54
|
+
%% Tommy Muench + 2014/01/02
|
55
|
+
%% Hans-Klaus Muench + 2014/08/24
|
56
|
+
%%
|
57
|
+
% FOR LaTeX 2.09 ONLY - FOR LaTeX 2e USE lastpage.sty OR pageslts.sty!
|
58
|
+
% This is lastpage209.sty invented by Jeffrey P. Goldberg
|
59
|
+
% (jeffrey+news at goldmark dot org), maintained by
|
60
|
+
% H.-Martin M\"{u}ench (Martin dot Muench at Uni-Bonn dot de).
|
61
|
+
\let\origenddocument=\enddocument%
|
62
|
+
\def\enddocument{\clearpage%
|
63
|
+
{\addtocounter{page}{-1}%
|
64
|
+
\immediate\write\@mainaux{\string\newlabel{LastPage}{{}{\thepage}}}}%
|
65
|
+
\addtocounter{page}{+1}%
|
66
|
+
\origenddocument%
|
67
|
+
}%
|
68
|
+
\endinput
|
69
|
+
%%
|
70
|
+
%% End of file `lastpage209.sty'.
|