将框添加到标记部分

将框添加到标记部分

我想在教科书的重复部分添加一个方框,用于提供问题讨论。是否可以通过在序言中添加“tex 样式设置”命令来实现?我正在使用 memoir 类。

(我需要它,因为我通过 Scrivener 和 Multimarkdown 在我的 LaTeX 文件中生成主要内容,而不是手动编写。)

我使用了这里生成一些不错的章节标题。我想做的是将类似的样式应用于章节末尾的两个章节——摘要和讨论——但因为这些不是章节,所以我希望它们的标题不带章节编号。

这是关键的文本:

\newcommand\titlebar{%
\tikz[baseline,trim left=3.1cm,trim right=3cm] {
    \fill [black!10] (2.5cm,-1ex) rectangle (\textwidth+3.8cm,2.5ex);
    \node [
        fill=cyan!60!white,
        fill=black!90!white,
                    anchor= base east,
        rounded rectangle,
        minimum height=3.75ex] at (2.9cm,0) {
        \textbf{\arabic{chapter}.\thesection.}
        \color{white}\textbf{T\thesection}
    };
}%
}
\titleformat{\section}{\large}{\titlebar}{0.1cm}{}
\renewcommand*{\thesection}{\arabic{section}}

这会为我的章节标题(包括章节编号)应用漂亮的样式。现在我想为章节末尾的两个章节(摘要和讨论)应用类似的样式。但我希望这两个章节不带章节编号。

答案1

我认为最好为关键部分定义一个新的宏,例如

\newcommand{\dsection}[1]{\section*{\titlebar*#1}}

使用简化(带星号)版本\titlebar(请参阅下面的完整代码)。

\documentclass{memoir}
\usepackage{titlesec,letltxmacro}
\usepackage{lipsum}
\usepackage{tikz}\usetikzlibrary{shapes.misc}
\makeatletter
\newcommand\titlebar@@{%
\tikz[baseline,trim left=3.1cm,trim right=3cm] {
    \fill [cyan!25] (2.5cm,-1ex) rectangle (\textwidth+3.1cm,2.5ex);
}}
\newcommand\titlebar@{%
\tikz[baseline,trim left=3.1cm,trim right=3cm] {
    \fill [cyan!25] (2.5cm,-1ex) rectangle (\textwidth+3.1cm,2.5ex);
    \node [
        fill=cyan!60!white,
        anchor= base east,
        rounded rectangle,
        minimum height=3.5ex] at (3cm,0) {
        \textbf{\arabic{chapter}.\thesection.}
    };
}}
\newcommand\titlebar{\@ifstar\titlebar@@\titlebar@}
\titleformat{\section}{\large}{\titlebar}{0.1cm}{}
\renewcommand*{\thesection}{\arabic{section}}

\LetLtxMacro{\LtxSection}{\section}
\newcommand{\dsection}[1]{\LtxSection*{\titlebar*#1}}
\renewcommand{\section}[2][]{%
  \def\secname{#2}
  \ifx\somename\secname
    \LtxSection*{\titlebar*#2}
  \else
    \LtxSection[#1]{#2}
  \fi}
\def\somename{Summary}
\makeatother

\begin{document}
\chapter{First Chapter}
\section{Section name}
\lipsum[2]

\dsection{Some other Chapter}
\lipsum[2]

\section{Summary}
\lipsum[2]
\end{document}

笔记:根据要求,该\desction格式将自动应用于每个名为“摘要”的部分。

例子

附录

要使章节标题以粗体显示,只需更改以下行

\titleformat{\section}{\large}{\titlebar}{0.1cm}{}

\titleformat{\section}{\large\bfseries}{\titlebar}{0.1cm}{}

相关内容