写入块字符(使用 \char?)

写入块字符(使用 \char?)

我正在尝试编写一个代码,导出一系列十个“块”字符。我指的是ASCII 表。想象一下在以下 MWE 中用这样的字符代替“a”。

\documentclass[11pt, a4paper]{article}

\usepackage{ifthen}

\newcounter{WrittenWords}
\newcounter{WrittenCharacters}

\begin{document}

\setcounter{WrittenWords}{0}%
\whiledo{\value{WrittenWords}<50}{%
    \addtocounter{WrittenWords}{1}%
    \setcounter{WrittenCharacters}{0}%
    \whiledo{\value{WrittenCharacters}<11}{%
        \addtocounter{WrittenCharacters}{1}%
        a%
    }
}

\end{document}

我尝试复制粘贴它,但是不起作用,因为我使用的是 utf-8 字母表,而且显然它不包含该字符。

我尝试使用pmboxdraw包和\textlfblock命令,它可以工作,但它会在字符之间留一个空格。我希望它们连接在一起。

\amdsymbol如果我使用该包和命令,情况也是一样\blacksquare

我发现,这个答案另一个问题是,是否存在命令\char,我应该在命令后面放一个代码。我尝试\char32在上面的代码中使用 而不是“a”,事实上,它可以按照我想要的方式打印那个奇怪的字符。问题是我不知道在哪里可以找到我的块字符的编号。我试着玩了一下,\char据我所知,我必须放在它前面的数字不是字符的十进制数,也不是它的十六进制数。我没有在任何地方找到这种命令的解释,它链接到一个包含我需要的数字的表格。

答案1

这是一个使用\blacksquareAMS 包的可能的“黑客”解决方案(如果您想避免textpospmboxdraw包之间的冲突)。

$\blacksquare\!$% with amssymb package

我认为与 的情况不同\textblock\blacksquare从使用 可以看出有白色间距\fbox。它们的大小也不同,因此您可以根据自己的目的考虑到这一点。

\fboxsep=0pt
\fbox{$\blacksquare$} % left
\fbox{\textblock} % right

在此处输入图片描述

无论如何,为了解决这个问题\blacksquare,我发现使用\!来消除间距是可行的。因此,完整的代码输出如下:

\documentclass[11pt, a4paper]{article}
\usepackage{amssymb}% <------------
\usepackage{ifthen}

\newcounter{WrittenWords}
\newcounter{WrittenCharacters}

\begin{document}
    \noindent
    \setcounter{WrittenWords}{0}%
    \whiledo{\value{WrittenWords}<50}{%
        \addtocounter{WrittenWords}{1}%
        \setcounter{WrittenCharacters}{0}%
        \whiledo{\value{WrittenCharacters}<11}{%
            \addtocounter{WrittenCharacters}{1}%
            $\blacksquare\!$% <------------
        }
    }
\end{document}

黑色方块

答案2

正如用户 Troy 所指出的,在包装的情况下,pmboxdraw单个字符之间的间隙是由于所选字符是半块(\textlfblock)而不是全块(\textblock)造成的。通过使用\textblock字符,实际上一个字符出现在另一个字符的旁边。

我在处理的主要文档中遇到了一些问题,其中textpos已经定义命令的包发生了名称冲突问题\textblock。解决方案取自对这个类似的问题\let\textblock\relax,是在加载包之后textpos但在加载包之前使用代码。这可能会在需要来自包的pmboxdraw原始命令的情况下出现问题,但对我来说,这现在是可行的。textblocktextpos

相关内容