GNU bug report logs - #12160
New function for cal-tex.el

Previous Next

Package: emacs;

Reported by: Edward Reingold <reingold <at> iit.edu>

Date: Wed, 8 Aug 2012 18:45:02 UTC

Severity: wishlist

Tags: patch

Fixed in version 24.3

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Glenn Morris <rgm <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#12160: closed (New function for cal-tex.el)
Date: Mon, 20 Aug 2012 07:25:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 20 Aug 2012 03:24:20 -0400
with message-id <2gsjbi10wr.fsf <at> fencepost.gnu.org>
and subject line Re: bug#12160: New function for cal-tex.el
has caused the debbugs.gnu.org bug report #12160,
regarding New function for cal-tex.el
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
12160: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12160
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Edward Reingold <reingold <at> iit.edu>
To: bug-gnu-emacs <at> gnu.org
Cc: Glenn Morris <rgm <at> gnu.org>
Subject: New function for cal-tex.el
Date: Wed, 8 Aug 2012 13:36:01 -0500
(defun cal-tex-cursor-week-at-a-glance (&optional n event)
  "Week-per-view full page calendar for week indicated by cursor.
Optional prefix argument specifies number of weeks.  Weeks start
on Monday.  The calendar shows holiday and diary entries if
`cal-tex-holidays' and `cal-tex-diary', respectively, are
non-nil.  It does not show hours of the day.  Optional EVENT
indicates a buffer position to use instead of point."
  (interactive (list (prefix-numeric-value current-prefix-arg)
                     last-nonmenu-event))
  (or n (setq n 1))
  (let* ((date (calendar-gregorian-from-absolute
                (calendar-dayname-on-or-before
                 1
                 (calendar-absolute-from-gregorian
                  (calendar-cursor-to-date t event)))))
         (month (calendar-extract-month date))
         (year (calendar-extract-year date))
         (day (calendar-extract-day date))
         (d1 (calendar-absolute-from-gregorian date))
         (d2 (+ (* 7 n) d1))
         (holidays (if cal-tex-holidays
                       (cal-tex-list-holidays d1 d2)))
         (diary-list (if cal-tex-diary
                         (cal-tex-list-diary-entries d1 d2))))
    (cal-tex-preamble "twoside,12pt")
    (cal-tex-cmd "\\usepackage{color}")
    (cal-tex-cmd "\\textwidth   7in")
    (cal-tex-cmd "\\textheight 10.5in")
    (cal-tex-cmd "\\oddsidemargin 0in")
    (cal-tex-cmd "\\evensidemargin 0in")
    (cal-tex-cmd "\\topmargin 0pt")
    (cal-tex-cmd "\\headheight -0.875in")
    (cal-tex-cmd "\\headsep 0.125in")
    (cal-tex-cmd "\\footskip .125in")
    (insert "\\def\\righthead#1{\\hfill {\\normalsize \\bf #1}\\\\[-6pt]}
\\long\\def\\rightday#1#2#3#4#5{%
   \\rule{\\textwidth}{0.3pt}\\\\%
   \\hbox to \\textwidth{%
     \\vbox to 2.75in{%
          \\vspace*{2pt}%
          \\hbox to \\textwidth{\\small #5 \\hfill #1 {\\normalsize \\bf #2}}%
          \\hbox to \\textwidth{\\vbox {\\raggedleft \\footnotesize
\\em \\textcolor{red}{#4}}}%
          \\hbox to \\textwidth{\\vbox to 0pt {\\noindent
\\footnotesize \\textcolor{blue}{#3}}}}}\\\\}
\\long\\def\\weekend#1#2#3#4#5{%
   \\rule{\\textwidth}{0.3pt}\\\\%
   \\hbox to \\textwidth{%
     \\vbox to 1.8in{%
          \\vspace*{2pt}%
          \\hbox to \\textwidth{\\small #5 \\hfill #1 {\\normalsize \\bf #2}}%
          \\hbox to \\textwidth{\\vbox {\\raggedleft \\footnotesize
\\em \\textcolor{red}{#4}}}%
          \\hbox to \\textwidth{\\vbox to 0pt {\\noindent
\\footnotesize \\textcolor{blue}{#3}}}}}\\\\}
\\def\\lefthead#1{\\noindent {\\normalsize \\bf #1}\\hfill\\\\[-6pt]}
\\long\\def\\leftday#1#2#3#4#5{%
   \\rule{\\textwidth}{0.3pt}\\\\%
   \\hbox to \\textwidth{%
     \\vbox to 2.75in{%
          \\vspace*{2pt}%
          \\hbox to \\textwidth{\\noindent {\\normalsize \\bf #2}
\\small #1 \\hfill #5}%
          \\hbox to \\textwidth{\\vbox {\\noindent \\footnotesize \\em
\\textcolor{red}{#4}}}%
          \\hbox to \\textwidth{\\vbox to 0pt {\\noindent
\\footnotesize \\textcolor{blue}{#3}}}}}\\\\}
")
    (cal-tex-b-document)
    (cal-tex-cmd "\\pagestyle{empty}\\ ")
    (cal-tex-newpage)
    (dotimes (i n)
      (insert "\\lefthead")
      (cal-tex-arg
       (let ((d (cal-tex-incr-date date 2)))
         (if (= (calendar-extract-month date)
                (calendar-extract-month d))
             (format "%s %s"
                     (cal-tex-month-name (calendar-extract-month date))
                     (calendar-extract-year date))
           (if (= (calendar-extract-year date)
                  (calendar-extract-year d))
               (format "%s---%s %s"
                       (cal-tex-month-name (calendar-extract-month date))
                       (cal-tex-month-name (calendar-extract-month d))
                       (calendar-extract-year date))
             (format "%s %s---%s %s"
                     (cal-tex-month-name (calendar-extract-month date))
                     (calendar-extract-year date)
                     (cal-tex-month-name (calendar-extract-month d))
                     (calendar-extract-year d))))))
      (insert "%\n")
      (dotimes (jdummy 3)
        (insert "\\leftday")
        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
        (cal-tex-arg (number-to-string (calendar-extract-day date)))
        (cal-tex-arg (cal-tex-latexify-list diary-list date))
        (cal-tex-arg (cal-tex-latexify-list holidays date))
        (cal-tex-arg (cal-tex-arg (eval cal-tex-daily-string)))
        (insert "%\n")
        (setq date (cal-tex-incr-date date)))
      (insert "\\noindent\\rule{\\textwidth}{0.3pt}\\\\%\n")
      (cal-tex-nl)
      (insert (cal-tex-mini-calendar
               (calendar-extract-month (cal-tex-previous-month date))
               (calendar-extract-year (cal-tex-previous-month date))
               "lastmonth" "1.1in" "1in"))
      (insert (cal-tex-mini-calendar
               (calendar-extract-month date)
               (calendar-extract-year date)
               "thismonth" "1.1in" "1in"))
      (insert (cal-tex-mini-calendar
               (calendar-extract-month (cal-tex-next-month date))
               (calendar-extract-year (cal-tex-next-month date))
               "nextmonth" "1.1in" "1in"))
      (insert "\\hbox to \\textwidth{")
      (cal-tex-hfill)
      (insert "\\lastmonth")
      (cal-tex-hfill)
      (insert "\\thismonth")
      (cal-tex-hfill)
      (insert "\\nextmonth")
      (cal-tex-hfill)
      (insert "}")
      (cal-tex-newpage)
      (insert "\\righthead")
      (cal-tex-arg
       (let ((d (cal-tex-incr-date date 3)))
         (if (= (calendar-extract-month date)
                 (calendar-extract-month d))
             (format "%s %s"
                     (cal-tex-month-name (calendar-extract-month date))
                     (calendar-extract-year date))
           (if (= (calendar-extract-year date)
                  (calendar-extract-year d))
               (format "%s---%s %s"
                       (cal-tex-month-name (calendar-extract-month date))
                       (cal-tex-month-name (calendar-extract-month d))
                       (calendar-extract-year date))
             (format "%s %s---%s %s"
                     (cal-tex-month-name (calendar-extract-month date))
                     (calendar-extract-year date)
                     (cal-tex-month-name (calendar-extract-month d))
                     (calendar-extract-year d))))))
      (insert "%\n")
      (dotimes (jdummy 2)
        (insert "\\rightday")
        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
        (cal-tex-arg (number-to-string (calendar-extract-day date)))
        (cal-tex-arg (cal-tex-latexify-list diary-list date))
        (cal-tex-arg (cal-tex-latexify-list holidays date))
        (cal-tex-arg (eval cal-tex-daily-string))
        (insert "%\n")
        (setq date (cal-tex-incr-date date)))
      (dotimes (jdummy 2)
        (insert "\\weekend")
        (cal-tex-arg (cal-tex-LaTeXify-string (calendar-day-name date)))
        (cal-tex-arg (number-to-string (calendar-extract-day date)))
        (cal-tex-arg (cal-tex-latexify-list diary-list date))
        (cal-tex-arg (cal-tex-latexify-list holidays date))
        (cal-tex-arg (eval cal-tex-daily-string))
        (insert "%\n")
        (setq date (cal-tex-incr-date date)))
      (unless (= i (1- n))
        (run-hooks 'cal-tex-week-hook)
        (cal-tex-newpage)))
    (cal-tex-end-document)
    (run-hooks 'cal-tex-hook)))


[Message part 3 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 12160-done <at> debbugs.gnu.org
Subject: Re: bug#12160: New function for cal-tex.el
Date: Mon, 20 Aug 2012 03:24:20 -0400
Version: 24.3

Applied to Emacs trunk, currently expected to appear as 24.3.


This bug report was last modified 12 years and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.