在 tcolorbox 中自定义章节和部分标题

在 tcolorbox 中自定义章节和部分标题

关于此事我需要帮助。

在此处输入图片描述

我的代码:

\documentclass[12pt,a4paper,oneside]{book}
%%================%%
%%KHAI BÁO GÓI TOÁN%%
%%================%%
\usepackage{amsmath,amssymb}
\usepackage{mathrsfs}
\usepackage{fancyhdr}
\usepackage{enumerate}
%%================%%
%%KHAI BÁO VẼ HÌNH   %%
%%================%%
\usepackage{tikz,tkz-tab,tkz-linknodes}
\usepackage{tkz-euclide}
\usepackage{tikz-3dplot}
\usepackage[most]{tcolorbox}
\usepackage[tikz]{bclogo}
\usetkzobj{all}
\usetikzlibrary{arrows,calc,intersections,angles,quotes,shapes.geometric}
\usetikzlibrary{snakes}
\usepackage{tabvar}
\usepackage{venndiagram}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{patterns}
\pgfplotsset{compat=1.9}
%%==========================%%
%%KHAI BÁO CANH LỀ, HYPERLINK  %%
%%==========================%%
\usepackage[top=1.5cm, bottom=1.5cm, left=1.5cm, right=1cm] {geometry}
%\usepackage[unicode, bookmarks=false]{hyperref}
\usepackage[hidelinks,unicode]{hyperref}
\usepackage{currfile}
\definecolor{yourcolor}{HTML}{008bb2}
\newcounter{sothuong}
\def\sothuong{\stepcounter{sothuong}{\arabic{sothuong}}}
\newcommand{\sectionso}[1]{\begin{tikzpicture}[baseline={([yshift=-.5ex]current bounding box.center)},vertex/.style={anchor=base,
            circle,fill=yourcolor,text=white,minimum size=10pt,inner sep=2pt}]
\node[vertex] {\sothuong};
\end{tikzpicture} {\color{yourcolor}\bfseries #1} \\}
\begin{document}
    \sectionlama{TƯ DUY THUẬT TOÁN}
    \sectionso{Tư duy công thức}
    \sectionlama{Tư duy không tưởng}
    \sectionso{Tư duy là gì?}
    Toi không biết
    \sectionso{Tư duy là gì?}
    Toi không biết
    \sectionso{Tư duy là gì?}
    Toi không biết
\end{document}

答案1

您在此处加载了大量实际上并不需要的包。这里有一个最小损害建议,可产生接近您所需输出的结果。

\documentclass[12pt,a4paper,oneside]{book}
\usepackage[most]{tcolorbox}
\usepackage[top=1.5cm, bottom=1.5cm, left=1.5cm, right=1cm] {geometry}
\definecolor{yourcolor}{HTML}{008bb2}
\newcounter{sothuong}
\def\sothuong{\stepcounter{sothuong}{\arabic{sothuong}}}
\newcommand{\sectionso}[1]{\begin{tikzpicture}[baseline={([yshift=-.5ex]current bounding box.center)},vertex/.style={anchor=base,
            circle,fill=yourcolor,text=white,minimum size=10pt,inner sep=2pt}]
\node[vertex] {\sothuong};
\end{tikzpicture} {\color{yourcolor}\bfseries #1}}
\newcounter{lama}
\def\lama{\stepcounter{lama}{\Roman{lama}}}
\newcommand{\sectionlama}[1]{\color{red}\bfseries\lama . #1} 

\begin{document}
\tcbsetforeverylayer{colframe=blue!75!black}
\begin{tcolorbox}[title=Kien\dots]
    \sectionlama{TƯ DUY THUẬT TOÁN}\\
    \sectionso{Tư duy công thức}\\
    \sectionlama{Tư duy không tưởng}\\
    \sectionso{Tư duy là gì?}\\
    Toi không biết
    \sectionso{Tư duy là gì?}\\
    Toi không biết
    \sectionso{Tư duy là gì?}\\
    Toi không biết
\end{tcolorbox}
\end{document}

在此处输入图片描述

编辑:这是一个似乎符合您的描述的版本,并且还考虑到您命名了您的命令\sectionso

\documentclass[12pt,a4paper,oneside]{book}
\usepackage[most]{tcolorbox}
\usepackage[explicit]{titlesec}
\usepackage[top=1.5cm, bottom=1.5cm, left=1.5cm, right=1cm] {geometry}
\definecolor{yourcolor}{HTML}{008bb2}

\titleformat{\chapter}
  {}
  {\color{red}\bfseries\Roman{chapter}}{4pt}
  {\color{red}\bfseries#1}{}
\titlespacing{\chapter}{0pt}{0pt}{0pt}

\titleformat{\section}
  {}
  {\begin{tikzpicture}[baseline={([yshift=-.5ex]current bounding box.center)},vertex/.style={anchor=base,
            circle,fill=yourcolor,text=white,minimum size=10pt,inner sep=2pt}]
\node[vertex] {\arabic{section}};
\end{tikzpicture}}{3pt}
  {\color{yourcolor}\bfseries #1}{}
\titlespacing{\section}{0pt}{0pt}{0pt}

\begin{document}
\tcbsetforeverylayer{colframe=blue!75!black}
\begin{tcolorbox}[title=Kien\dots]
    \chapter{TƯ DUY THUẬT TOÁN}
    \section{Tư duy công thức}
    \chapter{Tư duy không tưởng}
    \section{Tư duy là gì?}
    Toi không biết
    \section{Tư duy là gì?}
    Toi không biết
    \section{Tư duy là gì?}
    Toi không biết
\end{tcolorbox}
\end{document}

在此处输入图片描述

相关内容