【解答合集】实时预览/编辑模式粗体斜体显示问题

嗨!要了解我能说什么,请说 @discobot 显示帮助

遇到的问题

段落中选一部分加粗识别不正确,具体如图,不包含任意标点则正常。

这问题真的困扰好久了,以前都是后面加个空格解决。总感觉是对中文适配不到位,毕竟英文句子之间是有空格的,中文没有。

有没有什么插件能彻底解决这个问题的……

对了,补充一下,括号也有问题,不过这个场景遇到的比较少。

QQ截图20230413142155

1 个赞

原理是这个

其实阅读视图是没问题的, 各种不标准写法也兼容,
就是编辑视图里看着烦…

“有没有什么插件能彻底解决” 暂时没找到, 目前我是自己补空格…

好像预览版修复这个bug了

1 个赞

感谢回复,说实话用这么久了我才知道阅读模式下是正常的 :smiling_face_with_tear:

1 个赞

看了一下最新日志,是有提到粗体和斜体,不过括号他们还是没修复…

揪心,这个确实是老问题了。没有想到一直没有解决,v1.2.7还是没有

1 个赞

同样烦恼这个问题

同样烦恼这个问题

又找了些资料, 发现问题主要出现在紧挨着 ** 的字符的类型上, 比如以下全是不正确的例子

text** bold **text
text**bold.**text
text**bold **.text
加** 粗体 **字测试
加**粗体。**字测试
加**粗体 **。字测试

总结, 以下 “内侧” 指意图加粗的一侧, “外侧” 指正常样式字:

  • 如果 ** 内侧是普通字符, 加粗永远显示正确
  • 如果 ** 内侧是标点字符, 那么外侧也得是标点或空白才能显示正确
  • 如果 ** 内侧是空白字符, 怎么也补救不了

看了下论坛, 开发者知道这问题 ref 说方案是把中文标点按照普通字符处理

但不知道这么干, 会不会有别的坑


考虑要在各种软件里协作笔记, 再加上导出发布,
以上各种加粗写法, 我试了几个常用软件, 效果简直乱…

个人感觉还是从根源上避开麻烦比较好… 老实加空格…

  • 可以利用各种自动替换工具, obsidian-linter, 普通替换或正则替换类插件
  • 如果视觉上不想要空格, 可以用零宽空格 <wbr>, 但也需考虑将来复制文本时, 这会引入更多麻烦

如果主要关心Ob里的实时预览, 就想要 “阅读模式能正确加粗, 希望实时预览也同样效果”

可能还是等官方的办法比较好

1 个赞

这个问题一直存在,编辑模式和阅读模式渲染有差异。
也不止这一点有差异,目前只能以阅读模式为准了。

这次版本更新日志说会解决,实际又没有解决

感谢回复,零宽空格对我来说挺实用的,有空试试。

看楼上发的贴子,官方去年就知道这个问题了,没想到现在还没解决,可能中文用户还是少了点儿。

1 个赞

编辑视图模式,加粗到符号,就自动加粗到整个段落。但是阅读模式又不会出现这个问题。
2ae6279247371b23d17b115909a8198f
d7126f39f2ef18213e71f743b16be518

不知道有没有办法解决

这个显示问题貌似存在很久了,这种情况下在中文的标点后面加个空格显示就正常了。
不晓得是不是为了顺应英文输入习惯刻意保留的一个效果。按照英文输入习惯,标点号后面要加上空格。

2 个赞

编辑视图下在粗体前后有文字时,以符号开头会显示异常
但在阅读视图下正常

这是一句**.示例**文本

编辑视图
image

阅读视图
image

环境 :Windows11 1.5.3 已在沙箱复现


临时解决方案在粗体前后加空格

编辑视图
image

来自 PlayerMiller 的备注:抱歉归档时帖子重复了,请继续阅读。

一个最简单粗暴的办法:用中文代替。如果没有特殊要求的话可以这样做。
其他会自动改变字体的符号也是一样。

找到了新的解决方案:在每个会导致格式转换的符号前,输入一个英文的“\”,这种属于转义符号。如果你退出该行的编辑,转义符号就不会显示出来。不影响排版和阅读。