如何将日历与周数对齐为intermonth-text

Tom*_*mmy 9 emacs calendar org-mode

当我使用Emacs日历/日记与组织模式(但我不认为这是问题的原因),我遇到以下问题.

默认日历如下:

日历

我添加以下代码来显示周数:

(copy-face font-lock-constant-face 'calendar-iso-week-face)
(set-face-attribute 'calendar-iso-week-face nil
                    :height 1)

(setq calendar-intermonth-text
      '(propertize
        (format "%2d"
                (car
                 (calendar-iso-from-absolute
                  (calendar-absolute-from-gregorian (list month day year)))))
        'font-lock-face 'calendar-iso-week-face))

; Title for week number
(copy-face 'default 'calendar-iso-week-header-face)
(set-face-attribute 'calendar-iso-week-header-face nil
                    :height 0.7)
(setq calendar-intermonth-header
      (propertize "Wk"                  ; or e.g. "KW" in Germany
                  'font-lock-face 'calendar-iso-week-header-face))
Run Code Online (Sandbox Code Playgroud)

插入这些代码后,可以显示周数.但是,对齐方式有点像这样奇怪:

日历的最后一行未对齐.如何处理这个问题?

谢谢.

law*_*ist 6

height是导致问题的设置.你不妨尝试用其他变量试验,如: calendar-left-margin,calendar-column-width,calendar-day-header-width,calendar-day-digit-width,calendar-intermonth-header,calendar-intermonth-text.

注意:对于想知道如何突出显示星期六而不是星期一的任何人,该函数calendar-generate-month有一行代码包含(if (memq i '(0 6))- 如果calendar-week-start-day从更改01,则需要将上述代码更改0 65 6.或者,可以通过为一周中的几天添加新关键字来胜过字体锁定设置.

(setq calendar-week-start-day 1)

(setq calendar-intermonth-text
      '(propertize
        (format "%2d"
                (car
                 (calendar-iso-from-absolute
                  (calendar-absolute-from-gregorian (list month day year)))))
        'font-lock-face 'font-lock-warning-face))

(setq calendar-intermonth-header
      (propertize "Wk"                  ; or e.g. "KW" in Germany
                  'font-lock-face 'font-lock-keyword-face))
Run Code Online (Sandbox Code Playgroud)

示例http://www.lawlist.com/images/calendar-example.png