LATEX 自定义部分名称 Mod

LATEX 自定义部分名称 Mod
\documentclass[11pt]{article}
\usepackage[margin=3cm]{geometry}
\titleformat{\section}         
  {\scshape\raggedright} 
\begin{document}

\section*{test}
I specified how I wish for the section titles to appear. However I wish to be able to specify not to use all capitals for some. Here I wish the section title to just be 'Test'


\section*{testing}
* Z This is a good section title but I am wondering how can I get the text line to return after to line up to 'Z' instead of '*'

\end{document}

我学会了如何自定义如何呈现部分,但这样做之后,我想知道是否可以修改特定部分。假设我希望它们全部都是小写字母,如图所示,除了少数几个。

我的第二个问题是关于 \section*{testing} 的,我想知道如何让第二行和所有其他行排列在“Z”下而不是“*”下

答案1

有一种可能性:对于第一点,我用etoolbox一个新的布尔值定义nosc(默认为 false),并使用该\iftoggle命令进行部分格式化。

对于第二点,我使用了一个itemize环境,并使用设置了参数enumitem

\documentclass[11pt]{article}

\usepackage[margin=3cm]{geometry}
\usepackage{enumitem}
\usepackage{etoolbox}
\newtoggle{nosc}
\usepackage{titlesec}
\titleformat*{\section}
  {\iftoggle{nosc}{\raggedright}{\raggedright\scshape}}

\begin{document}

\toggletrue{nosc}
\section*{Test}
I specified how I wish for the section titles to appear. However I wish to be able to specify not to use all capitals for some. Here I wish the section title to just be 'Test'
\togglefalse{nosc}

\section*{Testing again}
\begin{itemize}[wide=0pt, leftmargin=*, nosep]
\item[*] Z This is a good section title but I am wondering how can I get the text line to return after to line up to 'Z' instead of '*'
\end{itemize}

\end{document}

在此处输入图片描述

编辑

使用高级界面时,使用此代码进行 \titleformat

\titleformat{\section} {\HUGE\iftoggle{nosc}{}{\scshape}\filright} {}{0em} {} [\titlerule\togglefalse{nosc}]

您不需要\togglefalse手动恢复,因为它被合并到代码的末尾。

相关内容