Emacs 如何将日历与周数作为月间文本对齐
当我在组织模式下使用Emacs日历/日记时(但我不认为这是问题的原因),我会遇到以下问题 默认日历如下所示: 我添加以下代码以显示周数:Emacs 如何将日历与周数作为月间文本对齐,emacs,calendar,org-mode,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 '(p
(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))
插入这些代码后,可以显示周数。但是,对齐方式有点奇怪,如下所示:
日历的最后一行未对齐。如何处理这个问题
谢谢。是您的
高度设置造成了问题。您可能希望尝试使用其他变量,例如:日历左边距
,日历列宽
,日历日标题宽度
,日历日数字宽度
,日历月间标题
,日历月间文本
注意:对于想知道如何突出显示星期六而不是星期一的人,函数calendar generate month
有一行代码,其中包含(if(memq i'(0 6))
——如果日历周开始日期
从0
更改为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))
(来源:)在iso week face中添加与日历其余部分相同的高度和字体如何?--这样做时,它不会再小了,但我认为它会解决您的问题。我认为尝试保持它的小尺寸并与大尺寸对齐会有问题,但考虑到类似于linum模式的操作方式。