Titlesec 将 tikz 绘图放在章节名称下方

Titlesec 将 tikz 绘图放在章节名称下方

尝试使用包提供的格式选项将两幅图画放在章节名称的前后titlesec,第二幅图画会放在章节名称的下方。我尝试将图画的代码放在参数中[after code],但没有成功。

另外,fancyhdr我使用该包设置了页眉和页脚,但它们没有显示在包含章节的页面中。

我怎样才能将第二幅图放在章节名称后的同一行中,并使页眉和页脚与章节一起出现在页面中?我正在用 进行编译LuaLaTeX

这是我的代码的 MWE:

\documentclass[12pt,a4paper]{report}

\usepackage[no-math]{fontspec}
    \setmainfont{MyriadPro-Regular}[
        BoldFont = MyriadPro-Bold,
        ItalicFont = MyriadPro-It,
        BoldItalicFont = MyriadPro-BoldIt]

\usepackage{polyglossia}
    \setdefaultlanguage{english}
    \disablehyphenation

\usepackage{hyperref}
\usepackage{bookmark}

\usepackage[
    hmarginratio = 1:1,
    left = 3cm,
    right = 2cm,
    top = 3cm,
    bottom = 2cm,
    headheight = 15pt
    ]{geometry}

\usepackage{tikz}
\usepackage{xcolor}
    \definecolor{redd}{HTML}{b24550}

\usepackage{fancyhdr}
    \pagestyle{fancy}
    \fancyhf{}
    \rhead{Lorem Ipsum}
    \lhead{Ipsum Lorem}
    \rfoot{
        \begin{tikzpicture}
            \fill[black] (0,0) circle (2mm);
            \node at (0,0) {\color{white}\thepage};
        \end{tikzpicture}
    }
    \chead{
        \tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.14);
    }

\usepackage{titlesec}
    \titleformat{\chapter}% command
        [block]% shape
        {\centering\bfseries\huge}% format
        {}% label
        {0cm}% sep
        {   \raisebox{.15cm}{\tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.2);}
            \hspace{.3cm}
        }% before code
        [   %\hspace{.3cm}
            \raisebox{.15cm}{\tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.2);}
        ]% after code


\usepackage{lipsum}


\begin{document}
\sloppy

\chapter{Lorem Ipsum}
\lipsum[1-15]

\end{document}

答案1

您想用装饰物围绕标题;最简单的方法是定义一个适当的宏,将章节标题作为参数传递给该宏。

\documentclass[12pt,a4paper]{report}

\usepackage[no-math]{fontspec}

\usepackage{polyglossia}

\usepackage[
  hmarginratio = 1:1,
  left = 3cm,
  right = 2cm,
  top = 3cm,
  bottom = 2cm,
  headheight = 15pt
]{geometry}

\usepackage{tikz}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage{titlesec}

\usepackage{lipsum}

\usepackage{hyperref}
\usepackage{bookmark}

\setmainfont{MyriadPro-Regular}[
  BoldFont = MyriadPro-Bold,
  ItalicFont = MyriadPro-It,
  BoldItalicFont = MyriadPro-BoldIt,
]

\setdefaultlanguage{english}
\disablehyphenation

\definecolor{redd}{HTML}{b24550}

\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Lorem Ipsum}
\fancyhead[L]{Ipsum Lorem}
\fancyfoot[R]{%
  \begin{tikzpicture}
  \fill[black] (0,0) circle (2mm);
  \node at (0,0) {\color{white}\thepage};
  \end{tikzpicture}%
}
\fancyhead[C]{%
  \tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.14);%
}

\titleformat{\chapter}% command
  [block]% shape
  {\centering\bfseries\huge}% format
  {}% label
  {0cm}% sep
  {\mychaptertitle}

\newcommand{\mychaptertitle}[1]{%
  \raisebox{.15cm}{\tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.2);}%
  \hspace{.3cm}%
  #1%
  \hspace{.3cm}%
  \raisebox{.15cm}{\tikz \fill[rotate=45,redd] (0,0) rectangle ++(45:.2);}%
}

\begin{document}

\chapter{Lorem Ipsum}
\lipsum[1-25]

\end{document}

(为了生成图像,我没有加载fontspecpolyglossia。)

我对你的前言进行了一些修改,以便分离包、设置和命令定义的加载。

在此处输入图片描述

相关内容