\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
手动恢复,因为它被合并到代码的末尾。