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