使用diagram滤镜在Quarto中转换TikZ图遇到两类问题
Quarto中diagram滤镜处理TikZ图的问题解决
问题1:HTML输出字体过小,PDF输出正常
解决方法:
- 方法1:在TikZ代码中直接指定全局字体大小,修改
tikzpicture环境参数:
%%| label: fig-delta %%| caption: A test \begin{tikzpicture}[font=\normalsize] \node (a) at (0, 0) {a}; \node (b) at (2, 0) {b}; \draw (a) -- (b); \end{tikzpicture}
- 方法2:通过YAML配置给TikZ添加全局预定义代码,统一设置字体:
--- title: "A tikz diagram extension test" filters: - diagram diagram: tikz: preamble: | \usepackage{fontsize} \changefontsize{12pt} ---
问题2:交叉引用失效(\ref和@fig-格式均不生效)
解决方法:放弃使用diagram滤镜,改用Quarto原生的TikZ支持(无需额外滤镜),原生支持会自动识别交叉引用标签:
--- title: "A tikz diagram extension test" format: html: default pdf: default --- ## Test section Hello, please see \ref{fig-delta} and @fig-delta ```{tikz} #| label: fig-delta #| caption: A test \begin{tikzpicture} \node (a) at (0, 0) {a}; \node (b) at (2, 0) {b}; \draw (a) -- (b); \end{tikzpicture}
原生处理不仅能修复交叉引用,还能让HTML和PDF输出的字体大小保持一致。 --- 内容的提问来源于stack exchange,提问作者mistral
相关产品推荐
相关产品推荐

