文本作为 Tikz 居中

文本作为 Tikz 居中

我复制粘贴了一些格式[和包],现在我不知道哪个是哪个。特别是,我想让框中的文本居中,位于行的中间。你能告诉我在哪里编辑代码吗?

\definecolor{aurometalsaurus}{rgb}{0.43, 0.5, 0.5}
\tikzstyle{section style} = [anchor=east ,thick,rounded corners=11pt,inner sep=20pt,draw=aurometalsaurus,fill=white]

\usepackage[explicit]{titlesec}
\titlespacing{\chapter}{10pt}{20pt}{<after-sep>}
\titleformat{\section}[block]%
{\gdef\sectionlabel{}\large\bfseries}%
{\gdef\sectionlabel{\thesection.\space}}{0pt}{%
    \begin{tikzpicture}[remember picture,overlay]
\draw[thick,aurometalsaurus](0,0) -- (\textwidth,0);
\node[section style] at (0,0) {\sectionlabel#1};
\end{tikzpicture}}

当我开始一个部分时:

\section{Hi there} 

Hi there 没有居中,只有 there 中的“e”位于文本行的中心。

答案1

anchor=east从样式中移除section style,并将节点移至线的中间。通常,如果您执行\draw (a) --node{x} (b);,则x位于a和 的中间b

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\definecolor{aurometalsaurus}{rgb}{0.43, 0.5, 0.5}
\tikzset{section style/.style={thick,rounded corners=11pt,inner sep=20pt,draw=aurometalsaurus,fill=white}}

\usepackage[explicit]{titlesec}
\titlespacing{\chapter}{10pt}{20pt}{<after-sep>}
\titleformat{\section}[block]%
{\gdef\sectionlabel{}\large\bfseries}%
{\gdef\sectionlabel{\thesection.\space}}{0pt}{%
    \begin{tikzpicture}[remember picture,overlay]
\draw[thick,aurometalsaurus](0,0) --node[section style] {\sectionlabel#1} (\textwidth,0);
\end{tikzpicture}}
\begin{document}
\section{Hi there}

\end{document}

相关内容