为了写一篇论文,我必须让我的 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}