我正在使用带有编译器 pdfLaTeX 的 Overleaf(不确定这是否重要),并且想要有不同颜色的子部分,例如问题结束后下面显示的示例。
一切都正常,编译也顺利。但是,由于我的子部分可能会变得很大,我希望能够折叠函数,就像您对和函数\topic{}{}
所做的那样(见下面的最终图片)。\section{}
\subsection{}
有什么方法可以告诉编辑器我希望此功能执行此操作吗?
请注意,我并不特别关心定义新函数 \topic{}{} 是否是实现我想要的最佳方式(如果需要,这可以是一个单独的问题)。相反,我感兴趣的是,是否通常可以使用一些任意定义的函数进行代码折叠 - 我的 \topic{}{} 函数只是一个简短的小示例。
\documentclass{article}
\usepackage{blindtext}
\setlength{\parindent}{0em}
\setlength{\parskip}{0em}
\usepackage{xcolor}
\newcommand{\topic}[2]{\color{#1}\subsection*{#2}}
\begin{document}
\section{Hello}
\topic{blue}{This subsection is in blue}
\blindtext
\topic{orange}{This subsection is in orange}
\blindtext
\topic{purple}{This subsection is in purple}
\blindtext
\end{document}
答案1
所以我尝试了一下,找到了一个\newenvironment{}
命令,它基本上允许你将函数放在一个\begin{}
\end{}
三明治中,而 Overleaf 可以让你按照我想要的方式折叠它们(参见https://www.overleaf.com/learn/latex/Environments#Defining_environments_with_parameters)
我认为这样做的一个(小)缺点是你需要确保每个\begin{}
都有一个\end{}
,但如果不是这种情况,编译器会很快对你大喊大叫!
我仍然很想知道您是否可以在不使用它的情况下做到这一点\begin{}
。
\documentclass{article}
\usepackage{blindtext}
\setlength{\parindent}{0em}
\setlength{\parskip}{0em}
\usepackage{xcolor}
\newenvironment{topic}[2]{\color{#1}\subsection*{#2}}{}
\begin{document}
\section{Hello}
\begin{topic}{blue}{This subsection is in blue}
\blindtext
\end{topic}
\begin{topic}{orange}{This subsection is in orange}
\blindtext
\end{topic}
\begin{topic}{purple}{This subsection is in purple}
\blindtext
\end{topic}
\end{document}