独立类和包有什么区别?据我所知,它们的用法不同\documentclass{report}
。\usepackage{standalone}
类是用于子文件,而包是用于主文件吗?
我有一个子文件:
\documentclass{report}
\usepackage[numbers]{natbib}
\begin{document}
dummyref \cite{GSMAIntelligence2016}
\bibliographystyle{unsrtnat}
\bibliography{ref}
\end{document}
这可以通过 pdflatex + bibtex + pdflatex (x2) 命令很好地编译,但是如果我将其更改为documentclass{standalone}
并运行相同的命令,我会收到以下错误:
! LaTeX Error: Something's wrong--perhaps a missing \item.
! LaTeX Error: Something's wrong--perhaps a missing \item.
! Missing \endgroup inserted.
! Missing } inserted.
! LaTeX Error: \begin{document} ended by \end{thebibliography}.
! Extra \endgroup.
! Too many }'s.
答案1
该类standalone
旨在创建单独的内容片段,其大小可适应内容本身。这是通过选项实现[crop=true]
的,默认情况下启用该选项。该[crop=true]
选项假定内容是单个段落。这是您在使用该类编译示例文档时看到的错误的来源standalone
。
解决这个问题的方法有两种,效果也不同:
使用
[varwidth=true]
允许多个段落的选项,但仍会将图像裁剪为其内容的大小。使用选项
[crop=false]
,它不会将文档裁剪为内容大小,而是将其呈现为单个页面。
该类还允许您指定一个替代类来在编译“内部”编译文档standalone
。默认使用类。如您在评论中提到的那样,article
将其更改为类实际上并没有在这里做任何工作;它只是使内容填满页面的选项。report
crop=false
类和包之间的区别
这个standalone
类非常有用,特别是当您生成图像以包含在其他文档中时,因为它还可以自动转换为其他图像格式。
另一方面,standalone
我对包版本的实用性不太清楚。在最基本的用法中,standalone
包允许您\input
在主文档中使用该包将standalone
类文档插入到更大的文档中。我没有具体的用例,也看不出它的明显用途。也许其他以这种模式使用它的人可以评论他们实际如何使用它。