下划线和居中标题

下划线和居中标题

为了写一篇论文,我必须让我的 LaTeX 文档符合指南。现在你们中的许多人可能已经猜到了,这意味着要做一些脏活,因为要违反几乎所有可能的排版标准。

我最大的问题是部分标题。它们必须是:

  • 大写
  • 下划线
  • 居中
  • 有罗马数字
  • 参考书目不应附加章节编号。

我尝试使用软件包来实现这一点sectsty,但由于没有成功,我尝试了该titlesec软件包,有和没有该ulem软件包都试过了。
但是,没有一种组合有效。只要给出选项,就会出现问题underlined

以下是该sectsty包的一个最小示例:

\documentclass{scrartcl}

\usepackage{ucs}
\usepackage[utf8x]{inputenc}

%% ADJUSTMENTS FOR IAC
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Get stupid underlining for headings right
\usepackage[]{ulem}

%% Change heading style
\usepackage{sectsty}
    \sectionfont{\MakeUppercase\rmfamily\center\underline}

\begin{document}
    \section{Test Section}
\end{document}

我怎样才能使这些标题符合规则?手动编写标题可能是最简单的方法吗?根本不用命令?

答案1

基于 Gonzalo 的回答:使用numberless键来定义带星号的版本\section

\documentclass{scrartcl}

\usepackage[explicit]{titlesec}
\usepackage[normalem]{ulem}
\usepackage{lipsum}

\titleformat{\section}
  {\normalfont\Large\sffamily\bfseries\filcenter}{}{0em}{\uline{\thesection\hspace*{ 1em}\MakeUppercase{#1}}}
\titleformat{name=\section,numberless}
  {\normalfont\Large\sffamily\bfseries\filcenter}{}{0em}{\uline{\MakeUppercase{#1}}}

\renewcommand*{\thesection}{\Roman{section}}

\begin{document}

\section{Test Section}

\lipsum[1]

\begin{thebibliography}{9}
\bibitem{A01} A. Author. \emph{Alpha}. 2001.
\end{thebibliography}

\end{document}

在此处输入图片描述

答案2

ulem这是一个使用包和explicit选项的简单解决方案titlesec

\documentclass{scrartcl}

\usepackage[explicit]{titlesec}
\usepackage[normalem]{ulem}
\usepackage{lipsum}

\titleformat{\section}
  {\normalfont\Large\sffamily\bfseries\filcenter}{\uline{\thesection\hspace*{ 1em}}}{0em}{\uline{\MakeUppercase{#1}}}

\renewcommand*{\thesection}{\Roman{section}}

\begin{document}
\section{Test Section}

\lipsum[1]

\begin{thebibliography}{9}
\bibitem{A01} A. Author. \emph{Alpha}. 2001.
\end{thebibliography}

\end{document}

在此处输入图片描述

答案3

多年来,titlesec不建议使用 KOMA-Script 类,或者仅在您不需要 KOMA-Script 类的扩展标题功能时才建议使用。因此,我建议使用scrartcl的界面来更改章节标题:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}

\usepackage[]{ulem}
\usepackage{microtype}% to add letter spacing

\addtokomafont{section}{\rmfamily\lsstyle}% use roman instead of sans serif
                                % but letter spaceing
\renewcommand*{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}{% do it only, for section level
    \centering \uline{#3\MakeUppercase{#4}}%
  }{%
    \@hangfrom{\hskip #2#3}{#4}% otherwise use the default
  }%
}

\usepackage{blindtext}

\begin{document}
\section{Test Section}
\blindtext
\section*{Test Section}
\blindtext
\addsec{Test Section}
\blindtext
\end{document}

在此处输入图片描述

这里我使用了\addtokomafont来改变标题的字体,还添加了自动字母间距(因为是大写排版),并重新定义\sectionlinesformat为添加\MakeUppercase\uline\centering。如果不仅章节而且子章节等标题也应居中。您也可以使用 来居中\let\raggedsection\centering。不过,在这种情况下也\sectionlinesformat应该使用 和\MakeUppercase\uline

答案4

\documentclass{article} 
\usepackage{fontspec}
\usepackage{lipsum}

\begin{document} 
\thispagestyle{empty} 
\font\uc="Times New Roman" at 12pt
\begin{center}
\underbar{\uc{But it may be enough to get you started, at least. }}
\end{center}
\lipsum[1]

\begin{thebibliography}{9}
\bibitem{A01} A. Author. \emph{Alpha}. 2011.
\end{thebibliography}

\end{document}

相关内容