\newcommand 用于居中 \section

\newcommand 用于居中 \section

我正在尝试使用该titlesec包来实现这一点,但我不确定语法应该是什么......

\usepackage{titlesec}

\newcommand{\centeredsection}{\titleformat{\section}{\centering}}

感谢您的帮助。

答案1

如果希望所有章节标题居中,只需使用星号形式即可,\titleformat如下所示:

\titleformat*{\section}{\centering\normalfont\Large\bfseries}

梅威瑟:

\documentclass{article}
\usepackage{titlesec}

\titleformat*{\section}{\centering\normalfont\Large\bfseries}

\begin{document}

\section{test}
Some text

\end{document}

输出:

在此处输入图片描述

相反,如果您尝试创建一个具有居中标题的新分段命令,则不能以这种方式完成(假设您正在使用该类article):

\makeatletter
\newcommand\centeredsection{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\centering\normalfont\Large\bfseries}}
\makeatother

梅威瑟:

\documentclass{article}

\makeatletter
\newcommand\centeredsection{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\centering\normalfont\Large\bfseries}}
\makeatother


\begin{document}

\centeredsection{Centered section}
Some text

\section{Normal section}
Some text

\end{document} 

输出:

在此处输入图片描述

答案2

这是这样做的titlesec

\documentclass{article}
\usepackage{titlesec,showframe}

\titleformat{\section}[block]
{\filcenter\Large
\normalfont\bfseries}
{\thesection}{0.5em}{}
\titlespacing*{\section}
{5pc}{*2}{*2}[5pc]

\begin{document}

\section{test}
Some text


\end{document}

在此处输入图片描述

sectsty

\documentclass{article}
\usepackage{sectsty,showframe}

\sectionfont{\centering}

\begin{document}

\section{test}
Some text


\end{document}

如果你想定义一个居中的新部分命令,这不是办法。但下面是一个这样做的例子。

\documentclass{article}
\usepackage{showframe}
\usepackage{etoolbox}
\usepackage{letltxmacro}
%%make \section centered
\patchcmd{\section}{\normalfont}{\centering\normalfont}{}{}
%% assign \section to \centeredsection
\LetLtxMacro{\centeredsection}{\section}
%% revert \centering from regular section
\patchcmd{\section}{\centering\normalfont}{\normalfont}{}{}


\begin{document}
\centeredsection{Centered section}
Some text

\section{Normal section}
Some text

\end{document} 

在此处输入图片描述

相关内容