【问题标题】:How to align the calendar with week number as the intermonth-text如何将日历与周数对齐作为月间文本
【发布时间】:2014-01-26 15:00:28
【问题描述】:

当我使用带有 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))

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

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

谢谢。

【问题讨论】:

  • 如何将相同的高度和字体添加到日历其余部分中使用的 iso 周面? - 当你这样做时,它不会再小了,但我认为它会解决你的问题。我认为试图保持较小并与较大的对齐会有问题,但考虑到一些额外的编码是可行的。 . .类似于 linum 模式的操作方式。

标签: emacs calendar org-mode


【解决方案1】:

是您的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))


(来源:lawlist.com

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多