Typora自动给标题生成序号

本文介绍如何修复Typora中标题自动序号的小bug,包括打开主题文件夹、编辑CSS,以及设置不同级别标题的样式,实现1、1.1这样的序号效果。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值