我想要一个文本框(或类似的东西),可以把一长串不以空格分隔的文本放入其中。它类似于许可证密钥(因此它由字符 AZ、az、0-9、下划线和破折号组成)。
我研究过使用tabular
、、、、,但似乎找不到我想要的行为(文本超出页面范围minipage
,因为它们的文本换行正在寻找空格和破折号)。为一个可以在Word中通过复制/粘贴完成的任务做了这么fbox
多研究,真是令人沮丧和失望……parbox
mdframed
我是否忽略了什么?有人知道我可以实现这一点的方法吗?
答案1
这里我设置了一个循环,逐个输出一个标记,\penalty0
后面跟一个(这样可以中断)。我在 中执行此操作\ttfamily
,但可以删除。
已编辑以支持下划线。
\documentclass{article}
\usepackage[nopar]{lipsum}
%%%%%%%%%%%
\newcommand\autobreak[1]{\bgroup\ttfamily\autobreakhelp#1\relax\relax\egroup}
\def\autobreakhelp#1#2\relax{%
{\detokenize{#1}}\penalty0\ifx\relax#2\relax\else\autobreakhelp#2\relax\fi}
%%%%%%%%%%%
\begin{document}
\lipsum[1]
\autobreak{%
http://tex.stackexchange.com/questions/224354/how-to_allowbreaks-at-any-character%
}
\lipsum[2]
\end{document}
如果输入仅限于“AZ、az、0-9、下划线和破折号”,则此方法可行,正如 OP 所要求的。实际上,输入流中的禁止字符将是{
、}
和%
。