emacs - 如何将日历与周号作为月间文本对齐

标签 emacs calendar org-mode

当我将Emacs日历/日记与org-mode一起使用时(但是我不认为这是问题的原因),我遇到以下问题。

默认日历如下所示:

我添加以下代码以显示星期数:

(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))

插入这些代码后,可以显示星期数。但是,对齐方式有点奇怪,如下所示:

日历的最后一行未对齐。如何解决这个问题?

谢谢。

最佳答案

导致此问题的是您的height设置。您可能希望尝试使用其他变量,例如:calendar-left-margincalendar-column-widthcalendar-day-header-widthcalendar-day-digit-widthcalendar-intermonth-headercalendar-intermonth-text

注意:对于任何想知道如何突出显示星期六而不是星期一的人,calendar-generate-month函数都有一行包含(if (memq i '(0 6))的代码-如果calendar-week-start-day0更改为1,则有必要将上述代码从0 6更改为5 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))

Example
(来源:lawlist.com)

关于emacs - 如何将日历与周号作为月间文本对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364948/

相关文章:

android - 如何获取带有标题的日历事件,包括重复事件

org-mode - 如何计算两列的点积(将整列视为向量)?

emacs - 交互式输入标题,使用捕获将标题放置在标题下方

emacs - 必须有 Emacs 扩展吗?

Emacs 口齿不清 : get sub-matches from a regexp match

vim - 我怎么做;像 : in vimpulse? 一样工作

emacs - MobileOrg 同步(拉)

emacs - schema-send-definition 和 schema-send-last-sexp 之间有什么区别

java - Calendar.before(Object when),为什么是Object?

algorithm - 识别具有相同星期几的年份(例如 1994、2005、2011)