将空格替换为字符串以强制表格单元格分隔

将空格替换为字符串以强制表格单元格分隔

我想使用宏来构建表格,以便将音节与其他文本对齐。为了完成这项任务,我定义了一个没有列分隔的表格。然而,如果用 & 符号连接,这会导致单词粘在一起。

xstringand替换对orStrSubstitute之类的宏不起作用,并且奇怪地产生错误。自然简单的书写空格会被表格环境忽略。如何插入空格?\hspace\phantom\,


这是一个虚拟示例。首先,一个没有替换的版本。然后是一个有替换的\,\,版本。最后,是想要的结果。对我来说,这个示例编译时会出现有关在 Overleaf 中插入缺失的错误}。但它确实产生了正确的结果。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\RequirePackage{xstring}

\begin{document}

\begin{tabular}{@{}*{8}{l@{}}}
    Wo-&ah we're & half way there, && Wo-&oah & livin' on a prayer \\
    {\StrSubstitute{Wo-&ah we're & half way there, && Wo-&oah & livin' on a prayer}{& }{&\,\,}} \\
\end{tabular}

Wo-ah we're half way there, Wo-oah livin' on a prayer

\end{document}

它看起来是这样的:

例子

答案1

保存替换后的字符串并使用它;您需要一个小\expandafter技巧和括号来隐藏&对齐;我们在组结束之前\expandafter进行扩展。\temp

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{xstring}

\begin{document}

\begin{tabular}{@{}*{8}{l@{}}}
Wo-&ah we're & half way there, && Wo-&oah & livin' on a prayer \\
\noexpandarg
{\StrSubstitute{Wo-&ah we're & half way there, && Wo-&oah & livin' on a prayer}
              {& }{&\,\,}[\temp]\expandafter}\temp \\
\end{tabular}

Wo-ah we're half way there, Wo-oah livin' on a prayer

\end{document}

在此处输入图片描述

相关内容