请考虑以下来源:
\documentclass[a4paper,12pt]{article}
\begin{document}
\newcounter{categorycounter}
\setcounter{categorycounter}{0}
\newenvironment{categoryname}[1][]{\stepcounter{categorycounter}\S\thecategorycounter.{\bf{ #1}}}{}
\begin{categoryname}{First category}\end{categoryname}
First category consists of blah blah blah.\newline
\begin{categoryname}{Second category} \end{categoryname}
Second category consists of bluh bluh bluh.\newline
\end{document}
我得到以下输出:
现在,我希望类别名称以粗体显示,如\bf
上面的命令所示。为什么它被忽略了?我该怎么做才能解决这个问题?
这是我想要的输出:
答案1
使用
\bfseries
而不是\bf
您的主要问题是
[]
在命令定义中,它需要一个可选参数#1
...但您希望将其用作#1
强制参数。
查看提供您所请求的输出的更改后的代码
\documentclass[a4paper,12pt]{article}
\begin{document}
\newcounter{categorycounter}
\setcounter{categorycounter}{0}
\newenvironment{categoryname}[1]{\stepcounter{categorycounter}\S\thecategorycounter.{~{\bfseries #1}}}{}
\begin{categoryname}{First category}\end{categoryname}
First category consists of blah blah blah.
\begin{categoryname}{Second category} \end{categoryname}
Second category consists of bluh bluh bluh.
\end{document}
编辑:删除了\newline
评论中提到的没有提供某些内容的内容...
您可能还想要环境内部的某些东西而不是环境外部的某些东西...在其他情况下,只需创建一个命令而不是环境。