在 \titleformat 中使用 tikzpicture 时出现问题

在 \titleformat 中使用 tikzpicture 时出现问题

我正在尝试使用 自定义章节标题的样式tikz。不幸的是,我不知道如何正确使用命令的tikz(可选)参数。对于下面的最小示例,我的编译器似乎陷入了无限循环;参数一定是罪魁祸首,因为如果我删除它,我不会遇到任何麻烦。知道出了什么问题吗?⟨after⟩\titleformat⟨after⟩

\documentclass[12pt]{scrbook}

\usepackage{tikz}
\usepackage{titlesec}
\usepackage{titletoc}

\titleformat{\chapter}
[hang]
{\huge}
{}
{0em}
{}
[\large \begin{tikzpicture} \draw [ultra thick] (0,0) -- (0,1);\end{tikzpicture}]
% the previous line does not work when [ultra thick] is included

\begin{document}

\chapter{Introduction}

Some text

\end{document}

答案1

这里的问题在于可选参数的解析。LaTeX 读取\titleformat{\chapter} ... [并找到一个括号:可选参数开始。根据定义,下一个右括号将关闭可选参数。因此参数(不包括周围的括号)将是\large \vbox{\begin{tikzpicture} \draw [ultra thick,这显然不是我们所希望的。这里的技巧是]通过将整个参数(或相关部分,即{tikzpicture})括在括号中来隐藏 LaTeX 中的:

\documentclass[12pt]{scrbook}

\usepackage{tikz}
\usepackage{titlesec}
\usepackage{titletoc}

\titleformat{\chapter}
[hang]
{\huge}
{}
{0em}
{}
[\large {\begin{tikzpicture} \draw [ultra thick] (0,0) -- (0,1);\end{tikzpicture}}]

\begin{document}

\chapter{Introduction}

Some text

\end{document}

工作正常 …

相关内容