如何导出 PDF 保持分栏

遇到的问题

用 Callout 在 Obsidian 里分栏没问题,但是导出 PDF 后分栏效果消失。

已用沙箱仓库测试,结论不变。

附:

Obsidian 内部效果图

image

PDF 导出效果图

对应文本

image

CSS 代码
/*Callout分栏*/
.callout[data-callout$="-"] {--callout-color: transparent; padding: var(--size-4-1);}
.callout[data-callout*="--"] .callout-content {display: flex; gap: 1rem;}
.callout .callout:not([data-callout*="--"]) .callout-content {display: initial;}
.callout[data-callout*="--"] .callout-content :is(div, ul, blockquote, p) {flex: 1; text-align: justify;}
.callout[data-callout|="!"] .callout-title {display: none;}
.callout .callout:not([data-callout|="!"]) .callout-title {display: inline-flex;}
导出 PDF 选项

image

导出 PDF 的方式:Obsidian 自带的 PDF 导出。

Obsidian 版本:当前版本及安装版本均为 v1.4.16。

预期的效果

PDF 导出能够保持分栏。

仅对特定区块分栏,不是全文分栏。

不介意使用 CSS、插件以及更改写作方式,只要能达到效果。

仅支持分 2 栏即可。能支持多分几栏更佳。

已尝试的解决方案

尝试写 HTML 语法,但是不支持渲染 Markdown。

自问自答,最外层用 blockquote 代替 Callout 分栏,换了 CSS 和写法:

CSS 代码如下。写得太急可能有没考虑到的,以后再说。

blockquote > blockquote:has(.callout[data-callout*="--"]) {display: flex; gap: 1rem; border: none;}
blockquote:has(.callout[data-callout*="--"]) :is(div, ul, blockquote, p) {flex: 1; text-align: justify;}
.callout[data-callout*="--"] {margin: 0}
.callout[data-callout$="-"] {--callout-color: transparent; padding: var(--size-4-1);}
.callout[data-callout|="!"] .callout-title {display: none;}
.callout .callout:not([data-callout|="!"]) .callout-title {display: inline-flex;}