Я столкнулся с той же проблемой и решил ее следующим образом. не
verbatimappend.tex файла (обратите внимание, что файл LaTeX пишет больше не является аргументом, поскольку это в verbatimwrite среде, но определенные в \ verbatimFile):
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{moreverb}
\makeatletter
\def\verbatimappend{% inspired by moreverb.sty (verbatimwrite)
\@bsphack
\let\do\@makeother\dospecials
\catcode`\^^M\active \catcode`\^^I=12
\def\[email protected]{%
\immediate\write\verbatimFile%
{\the\[email protected]}}%
\[email protected]}
\def\endverbatimappend{%
\@esphack%
}
\makeatother
\begin{document}
\newwrite\verbatimFile
\immediate\openout\verbatimFile=verbatimFile.txt\relax%
\begin{verbatimappend}
Hello, world!
\end{verbatimappend}
\input{random_chars.tex}
\begin{verbatimappend}
Bye, world!
\end{verbatimappend}
\immediate\closeout\verbatimFile
\end{document}
Что я стресс-тестирование следующим образом. random_chars.pl Файла:
#! /usr/bin/perl
use warnings;
use strict;
binmode STDOUT, ":utf8";
binmode STDERR, ":utf8";
my @ords = (32..126, 160..255); # usable latin-1/latin-9 codepoints
my $N = scalar @ords;
my @lines = ();
sub choose_random_char {
my $ord = int(rand($N));
return chr($ords[$ord]);
}
while ((scalar @lines) < 10000) {
my $line = join('', map { choose_random_char() } (1..78));
next if $line =~ m/\\end{verbatimappend}/sx; # probably very unlikely!
next if $line =~ m/\s+$/sx; # final spaces do not get output -> false positive
push @lines, $line;
}
print join("\n", @lines, '');
print STDERR join("\n\n",
(map { "Paragraph\n\n\\begin{verbatimappend}\n$_\n\\end{verbatimappend}" } @lines), '');
Для их использования:
$ perl random_chars.pl > random_chars.txt 2> random_chars.tex
$ latex verbatimappend.tex
$ diff random_chars.txt verbatimFile.txt
Примечания конкретных случаев, исключенных в random_chars.pl:
next if $line =~ m/\\end{verbatimappend}/sx; # probably very unlikely!
next if $line =~ m/\s+$/sx; # final spaces do not get output -> false positive
Не знаю, как/это может ли/должны отправляется в авторизованный агент https://www.ctan.org/pkg/moreverb , так как пакет выглядит невосстановленным.
HTH.