我是 LaTeX 的初学者,我想知道我应该如何在预先写的“文本”后面创建一个带有编号的部分,并在新行中创建一个部分(我想在部分{}中添加的文本,全部居中)。
我得到更接近以下代码的结果如下:
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{titlesec}
\titleformat{\section}{\center\bfseries}{Cláusula \arabic{section} \newline}{1em}{}
\begin{document}
\section{ \begin{center}
Objectivo
\end{center}}\label{subsec:first}
Some text from section
\end{document}
谢谢您的帮助。
答案1
您不应该使用像\begin{center}...\end{center}
inside这样的格式化命令\section{...}
,否则它会搞乱目录和类似的东西;而是使用 titlesec 来定义您希望标题的外观。
您应该在该上下文中使用\centering
而不是\center
,并且应该为命令指定“shape”参数\titlesec
以获得正确的段落格式。
从您问题的措辞来看,我不太清楚您是否希望“Cláusula 1”位于“Objectivo”之上,反之亦然。
如果“Cláusula 1”先出现,那么您可以使用如下“显示”形状:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{titlesec}
\titleformat{\section}[display]{\centering\large\bfseries}{Cláusula \thesection}{1ex}{}
\begin{document}
\section{Objectivo}\label{subsec:first}
Some text from section
\end{document}
调整\large
您想要的字体大小,并将标签和章节标题之间的间距调整到您觉得合适的大小。
如果您首先想要“Objectivo”,那么您需要使用 titlesec 的“explicit”选项,“block”形状并将所有格式放在一起放入第 4 个参数中\titleformat
:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[explicit]{titlesec}
\titleformat{\section}[block]{\centering\large\bfseries}{#1\\[1ex]Cláusula \thesection}{0ex}{}
\begin{document}
\section{Objectivo}\label{subsec:first}
Some text from section
\end{document}
(我应该提到我将输入编码更改为 utf8,因为从该站点复制的文本被编码为;您可能需要根据实际文档中的编码和编辑器配置将其改回来。)
(另一个可能不重要的细节:我改成\arabic{section}
了\thesection
:这个大概没关系,因为默认情况下后者被定义为前者;但如果您决定更改章节编号的格式,您需要重新定义\thesection
以正确获得交叉引用,然后这将使标题和交叉引用保持统一。)