宏内的方括号 ([) 会导致错误

宏内的方括号 ([) 会导致错误

我有一个程序可以从某个网站抓取很多文章,我将文章从 HTML 转换为 LaTeX,其中有很多 if 和 else,但现在我无法重新抓取它们,因为我已经下载了 1555+ 期并将它们转换为 tex,再次抓取需要花费大量时间,我不想给服务器增加更多负担。现在我的问题是,部分文章生成了繁琐的文本形式 ( \tboxsup{\textbf{[Picture on page 16}, \textbf{17]}}),这导致 LaTeX 出现问题。简而言之,我该如何转义括号来解决我的问题?

以下是 vim 如何通知我错误

我真的不能简单地包装手动因为它们{}出现在随机文章中。我打算用 来sed修复它们。


姆韦

\documentclass{article}

\usepackage[most]{tcolorbox}
\newcommand{\tboxsup}[1]{
\begin{center}
\begin{tcolorbox}[enhanced,
     breakable,
     width=0.75\textwidth,
     colback=white,
     colframe=darkgray,
     colupper=darkgray,
     boxrule=-1pt,
     arc=0pt,
     boxsep=3pt,
     colbacktitle=darkgray,
          title=#1]

}

\begin{document}
\tboxsup{\textbf{[Picture on page 12}, \textbf{13]}}

Egyptian model depicting the preparation of bread and beer
\vspace{.5em}

\textbf{[Credit Line]}
\vspace{.5em}

Su concessione del Ministero per i Beni e le Attività Culturali-Museo Egizio-Torino
\vspace{.5em}

\end{tcolorbox}
\end{center}
\end{document}

非常感谢!

答案1

问题在于你尝试在可选参数中使用方括号。你可以通过#1在附加组中包裹来隐藏它们{}

\documentclass{article}

\usepackage[most]{tcolorbox}
\newcommand{\tboxsup}[1]{
\begin{center}
\begin{tcolorbox}[enhanced,
     breakable,
     width=0.75\textwidth,
     colback=white,
     colframe=darkgray,
     colupper=darkgray,
     boxrule=-1pt,
     arc=0pt,
     boxsep=3pt,
     colbacktitle=darkgray,
          title={#1}]

}

\begin{document}
\tboxsup{\textbf{[Picture on page 12}, \textbf{13]}}

Egyptian model depicting the preparation of bread and beer
\vspace{.5em}

\textbf{[Credit Line]}
\vspace{.5em}

Su concessione del Ministero per i Beni e le Attività Culturali-Museo Egizio-Torino
\vspace{.5em}

\end{tcolorbox}
\end{center}
\end{document}

在此处输入图片描述

相关内容