Typora自动给标题生成序号
网上找到的方法有一些小bug,在这里给出修复
准备工作
打开Typora,然后依次点击:文件→偏好设置→外观→打开主题文件夹
在该文件夹中创建base.user.css
从一级标题开始
右键编辑css文件,在文件中插入如下内容:
/** initialize css counter */
#write,
.sidebar-content {
counter-reset: h1;
}
h1,
.outline-h1 {
counter-reset: h2;
}
h2,
.outline-h2 {
counter-reset: h3;
}
h3,
.outline-h3 {
counter-reset: h4;
}
h4,
.outline-h4 {
counter-reset: h5;
}
h5,
.outline-h5 {
counter-reset: h6;
}
/** put counter result into headings */
#write h1:before,
.outline-h1 > .outline-item > .outline-label:before {
counter-increment: h1;
content: counter(h1) " ";
}
#write h2:before,
.outline-h2 > .outline-item > .outline-label:before {
counter-increment: h2;
content: counter(h1) "." counter(h2) " ";
}
#write h3:before,
h3.md-focus.md-heading:before, /** override the default style for focused headings */
.outline-h3 > .outline-item > .outline-label:before {
counter-increment: h3;
content: counter(h1) "." counter(h2) "." counter(h3) " ";
}
#write h4:before,
h4.md-focus.md-heading:before,
.outline-h4 > .outline-item > .outline-label:before {
counter-increment: h4;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) " ";
}
#write h5:before,
h5.md-focus.md-heading:before,
.outline-h5 > .outline-item > .outline-label:before {
counter-increment: h5;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " ";
}
#write h6:before,
h6.md-focus.md-heading:before,
.outline-h6 > .outline-item > .outline-label:before {
counter-increment: h6;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " ";
}
/** override the default style for focused headings */
#write > h3.md-focus:before,
#write > h4.md-focus:before,
#write > h5.md-focus:before,
#write > h6.md-focus:before,
h3.md-focus:before,
h4.md-focus:before,
h5.md-focus:before,
h6.md-focus:before {
color: inherit;
border: inherit;
border-radius: inherit;
position: inherit;
left: initial;
float: none;
top: initial;
font-size: inherit;
padding-left: inherit;
padding-right: inherit;
vertical-align: inherit;
font-weight: inherit;
line-height: inherit;
}
保存css文件后重启Typora即可,效果图如下:

如果想让标题变成1、一级标题这样,可在每一级标题的样式的content的末尾双引号里面加上顿号,例如:
content: counter(h1) " 、";
从二级标题开始
/** initialize css counter */
#write,
.sidebar-content,.outline-h1,
h1 {
counter-reset: h2;
}
.outline-h2,
h2 {
counter-reset: h3;
}
.outline-h3,
h3 {
counter-reset: h4;
}
.outline-h4,
h4 {
counter-reset: h5;
}
.outline-h5,
h5 {
counter-reset: h6;
}
#write h2:before,
.outline-h2 > .outline-item > .outline-label:before {
counter-increment: h2;
content: counter(h2) ". ";
}
#write h3:before,
h3.md-focus.md-heading:before, /** override the default style for focused headings */
.outline-h3 > .outline-item > .outline-label:before {
counter-increment: h3;
content: counter(h2) "." counter(h3) " ";
}
#write h4:before,
h4.md-focus.md-heading:before,
.outline-h4 > .outline-item > .outline-label:before {
counter-increment: h4;
content: counter(h2) "." counter(h3) "." counter(h4) " ";
}
#write h5:before,
h5.md-focus.md-heading:before,
.outline-h5 > .outline-item > .outline-label:before {
counter-increment: h5;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " ";
}
#write h6:before,
h6.md-focus.md-heading:before,
.outline-h6 > .outline-item > .outline-label:before {
counter-increment: h6;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) " ";
}
/** override the default style for focused headings */
#write > h3.md-focus:before,
#write > h4.md-focus:before,
#write > h5.md-focus:before,
#write > h6.md-focus:before,
h3.md-focus:before,
h4.md-focus:before,
h5.md-focus:before,
h6.md-focus:before {
color: inherit;
border: inherit;
border-radius: inherit;
position: inherit;
left: initial;
float: none;
top: initial;
font-size: inherit;
padding-left: inherit;
padding-right: inherit;
vertical-align: inherit;
font-weight: inherit;
line-height: inherit;
}
效果图如下:

参考: https://blog.youkuaiyun.com/songrongtao/article/details/108129698
本文介绍如何修复Typora中标题自动序号的小bug,包括打开主题文件夹、编辑CSS,以及设置不同级别标题的样式,实现1、1.1这样的序号效果。
1793

被折叠的 条评论
为什么被折叠?



