Last active
August 25, 2019 13:55
-
-
Save zr-tex8r/69c506626c4a8545ff4c95482cb55add to your computer and use it in GitHub Desktop.
LaTeX: \reviewbreakall のようなナニカ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass{article} | |
\makeatletter %!!!!!!!!!!!!!!!!!!!!!!!!! TeX code BEGIN | |
\newif\ifreview@ba@break | |
\def\review@ba@end{\review@ba@end@} | |
\DeclareRobustCommand{\reviewbreakall}[1]{% | |
\begingroup | |
\review@ba@breakfalse | |
\review@break@all@a#1\review@ba@end | |
\endgroup | |
} | |
\def\review@break@all@a{% | |
\futurelet\review@ba@tok\review@break@all@b | |
} | |
\def\review@break@all@b{% | |
\ifx\review@ba@tok\review@ba@end | |
\let\next\@gobble | |
\else\ifx\review@ba@tok\@sptoken | |
\let\next\review@break@all@c | |
\else\ifx\review@ba@tok~% | |
\let\next\review@break@all@d | |
\else\ifx\review@ba@tok\bgroup | |
\let\next\review@break@all@e | |
\else | |
\let\next\review@break@all@ua | |
\fi\fi\fi\fi | |
\next | |
} | |
\expandafter\def\expandafter\review@break@all@c\space{% | |
\space | |
\review@ba@breakfalse | |
\review@break@all@a | |
} | |
\def\review@break@all@d#1{% | |
\review@break@all@f{\mbox{\space}}% | |
} | |
\def\review@break@all@e#1{% | |
\review@break@all@f{{#1}}% | |
} | |
\def\review@break@all@f#1{% | |
\ifreview@ba@break | |
\hskip0pt plus 0.02em\relax | |
\fi | |
#1% | |
\review@ba@breaktrue | |
\review@break@all@a | |
} | |
\def\review@ba@utfeight{utf8} | |
\def\review@break@all@ua#1{% | |
\let\next\review@break@all@f | |
\ifx\inputencodingname\review@ba@utfeight\ifcat\noexpand#1\noexpand~% | |
\chardef\review@ba@cc=`#1\relax | |
\message{<\the\review@ba@cc>}% | |
\ifnum\review@ba@cc<194 | |
\let\next\review@break@all@f | |
\else\ifnum\review@ba@cc<224 | |
\let\next\review@break@all@ub | |
\else\ifnum\review@ba@cc<240 | |
\let\next\review@break@all@uc | |
\else\ifnum\review@ba@cc<244 | |
\let\next\review@break@all@ud | |
\fi\fi\fi\fi | |
\fi\fi | |
\next#1% | |
} | |
\def\review@break@all@ub#1#2{\review@break@all@f{#1#2}} | |
\def\review@break@all@uc#1#2#3{\review@break@all@f{#1#2#3}} | |
\def\review@break@all@ud#1#2#3#4{\review@break@all@f{#1#2#3#4}} | |
\makeatother %!!!!!!!!!!!!!!!!!!!!!!!!! TeX code END | |
% These settings are just for testing. | |
\usepackage[prefernoncjk]{pxcjkcat} | |
\usepackage[T1]{fontenc} | |
\usepackage{lmodern,textcomp} | |
\begin{document} | |
\parbox{100pt}{\ttfamily\reviewbreakall{% | |
Lorem ipsum dolor sit amet, | |
consectetur adipiscing elit, | |
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. | |
Ut enim ad minim veniam, | |
quis nostrud exercitation ullamco laboris nisi ut aliquip | |
ex ea commodo consequat. | |
Duiș auțe îrure dolor în reprehenderit în voluptațe velit | |
esse cillum dolore eu fugiât nullă pariătur. | |
Excepteur sint occaecât cupidațât non proident, | |
sunt în culpă qui officiă deșerunt mollit anim id eșt lâborum. | |
¥¥¥¥¥¥¥¥¥¥€€€€€€€€€€ | |
}% | |
} | |
\end{document} |
- inputencによるUTF-8直接入力に対応した。
※inputencの意味での“入力エンコーディング”がutf8
のときにのみ有効になる。(だからLuaTeXでは無効。)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
\hskip0pt plus 0.02em\relax
を挿入して出力する\space
を実行{...}
はそのまま一かたまりで出力する~
を読んだ場合も空白を出力し、この空白は行分割可能で、かつ行末行頭にあっても消えない仕様変更の要望があればZRさんに言いましょう。