能否使用\ctex{}函数局部地调整自定义附录环境中的章节样式?

发布于 2022-02-07 22:22:25

我希望在论文中实现如下的附录格式:
image.png
我的思路是先直接打出“附录”大标题,二级标题“附录A”用chapter标题实现,三、四级标题以此类推。目前我尝试在自定义的附录环境里使用ctex{}函数调整章节标题格式实现附录里二三四级标题的效果。我在调整正文章节标题格式的时候也用了ctex{}函数,不知道会不会与这里冲突。目前我的代码运行会报错,代码如下:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ABC.cls函数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ctex}

\newenvironment{appendixs}
{
    %中文题目
    \centering \linespread{1.625} \zihao{-2} \vspace*{0.0\baselineskip}
    \begin{center}
    %“附录”标题
    \vspace*{-0.15\baselineskip} \linespread{1.625} \zihao{3} \heiti 附\quad录 \\
    \end{center}  % 摘要为三号黑体
    %定制附录环境里的章节样式
    \ctexset{%
        chapter = {%
            format       = \linespread{1.5} \zihao{4} \heiti,
            name         = {附录,},
            nameformat   = {},
            number       = \Alph{chapter},
            numberformat = {},
            titleformat  = {},
            aftername    = \hspace{0.5em},
            afterindent  = true,
            % beforeskip 默认为 50pt 适当缩减
            beforeskip   = {1.5ex \@plus .2ex},
            % afterskip 默认为 2.3ex plus .2ex 适当缩减
            afterskip    = {1.5ex \@plus .2ex},
            fixskip      = false,
        },
        section = {%
            format       = \linespread{1.5} \zihao{-4} \heiti,
            aftername    = \hspace{0.5em},
            afterindent  = true,
            % beforeskip 默认为 3.5ex plus 1ex minus .2ex 适当缩减
            beforeskip   = {1.5ex \@plus .2ex},
            % afterskip 默认为 2.3ex plus .2ex 适当缩减
            afterskip    = {1.5ex \@plus .2ex},
            fixskip      = false,
        },
        subsection = {%
            format       = \linespread{1.5} \zihao{-4} \songti,
            name         = {(,)},
            number       = \arabic{subsubsection},
            aftername    = \linespread{5},
            indent       = {2\ccwd},
            afterindent  = true,
            beforeskip   = {1.5ex \@plus .2ex},
            afterskip    = {1.5ex \@plus .2ex},
            fixskip      = false,
        },
    }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% main.tex函数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[]{ctexbook}

\begin{document}
    \begin{appendixs}
        \chapter{附录代码}
    
        附录部分用于存放这里用来存放不适合放置在正文的大篇幅内容、典型如代码、图纸、完整数学证明过程等内容。
    
        \section{堆溢出检测算法}
    \end{appendixs}
\end{document}

希望能获得指点,谢谢

查看更多

关注者
0
被浏览
1.4k
zepinglee
zepinglee 2022-02-08
这家伙很懒,什么也没写!

可以这样使用,这是因为 \newenvironment 定义的环境自带了 \begingroup\endgroup 的分组,所以 \ctexset 的设置只在局部有效。

另外 appendix 的复数是 appendices。

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览