CTeX-org / zhlipsum

Chinese dummy text
LaTeX Project Public License v1.3c
17 stars 4 forks source link

在 twocolumn 里面用单栏模式会报错 #6

Closed CamuseCao closed 4 years ago

CamuseCao commented 4 years ago

在双栏模式下,想进入单栏模式,在里面使用 \zhlipsum 报错。 mwe 如下

\documentclass[twocolumn]{ctexart}
\usepackage{zhlipsum}
\begin{document}
\twocolumn[
    \begin{@twocolumnfalse}
        % 劳仑衣普桑,认至将指点效则机,最你更枝。
         \zhlipsum[1]
    \end{@twocolumnfalse}
]
\zhlipsum[1-10]
\end{document}
CamuseCao commented 4 years ago

经 @muzimuzhi 的提示

只有 xparse 的 optional arg 实现了「匹配配对括号」的功能,所有其他实现,对于输入 \cmd[\abc[]] \cmd 的可选参数都会识别成 "\abc["

因此里面的 \zhlipsum[1] 应该用花括号,让它成为一组,即 {\zhlipsum[1]} ,这样问题就解决了。

muzimuzhi commented 4 years ago

提供个例子

\documentclass{article}
\usepackage{xparse}

\NewDocumentCommand{\abc}{o}{<#1>}
\newcommand\xyz[1][]{<#1>}

\begin{document}
\abc[[]]   % \abc's #1 = "[]", print "<[]>"
\xyz[[]]   % \xyz's #1 = "[", print "<[>]"
\end{document}