新的 \input{file} 包,命令包装器:带有保留符号的 microtype .tex

新的 \input{file} 包,命令包装器:带有保留符号的 microtype .tex

我对 LaTeX 的了解足以制作出外观精美的文档。LaTeX 让不这样做变得更加困难。但我不懂高级 LaTeX、TeX、纯色 TeX、“@”或其他高级、神秘的编程技巧,我在一些 .sty 文件中见过这些技巧。

从 Root.tex 文件中,我想输入序言,然后输入许多叙述章节,全部都是 100% 文本(没有数学、表格或图形)

我是否可以创建一个相对简单的命令,其工作原理类似于 \input{filename},但可以逐字打印大多数特殊字符,同时仍使用连字符、对齐和微排版在段落模式下排版 .tex 和/或 .txt 文件?我想允许使用最少的代码轻松创建叙述章节,以便格式化偶尔出现的强调或插入文本。(然后我可以让任何人知道他们需要如何编写章节文件,所有这些都在几分钟内完成)

以下是我想要做的事情,对叙事作者很有用:

尽可能多的保留字符会直接打印,但字间距、换行符、段落间距、分页符和连字符等将会像往常一样全部由 LaTeX 自动化系统控制,并且不会\verbatim利用 LaTeX 出色的排版功能。

\newcommand需要能够\input将美观的商业小说章节排版为文本文件,其中可能包含杂散的保留符号、左引号、右引号以及其他常见的 Unicode 符号。

但是,/input{filename}如果文本段落中包含文学句子中使用的零散保留符号,则使用 balks:[#$%^&_{}~\]

因此,很像\input{filename},我想创建一个可以写入的新命令,称为\incorporate{filename},\textinput{filename}、\intake{filename}、\inset{filename}、\ingest{filename}、\absorb{filename} \digest{filename}、\narate{filename} ...无论如何。

下面是我的 root.tex 文件的一个示例\incorporate{filename}(它可能会给出如何使用它的想法)

%    Novel_1_Root.tex   %
%   %   %   %   %   %   %
\documentclass{book}
\input{LaTeX_Preamble.tex}
\begin{document}
%
\frontmatter
\input{./titlepage.tex}
\input{./copyrightpage.tex}
\input{./dedicationpage.tex}
\maketitle \tableofcontents{}
%
\mainmatter
\chapter{The Blue Hills}
\incorporate{./chapter01.txt}
%                         
\chapter{The Lazy Author}
\incorporate{./chapter02.txt}
%
\chapter{The Car Chase}
\incorporate{./chapter03.txt}
%     etc . . .
%
\end{document}

目标是创造一种无需思考的方式来编写充满叙述的章节,并向非 LaTeX 用户解释如何使用文本文件编写\incorporate{filename}

没有一个逐字包能够像 LaTeX 在段落模式下那样处理“空格”和“返回”,具有微类型的文学品质,所以很直接,这对我来说不起作用。

答案1

我会这样做:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\newcommand\incorporate[1]{{%
\catcode`\$=12
\catcode`\&=12
\catcode`\_=12
\catcode`\^=12
\catcode`\#=12
\catcode`\%=12
\catcode`\~=12
\input{#1}}}

\begin{document}

\section{zzz}

\incorporate{zzz.txt}

\end{document}

使用输入文件

aaa & bbb is 5% of 4$  but_this_has_underscores


but a blank line is a ‘new para’ with quotes.

生产

在此处输入图片描述

在这里我保留了\{}以及它们的乳胶含义,以便它们可以在文件中使用,您可以根据需要将它们包含在安全字符列表中,这样它们就会被排版为普通字符。

相反,您可能还想从安全列表中删除字符,例如,如果您删除~~则会恢复为像普通乳胶中的非中断空格标记,而不是排版为~

允许或禁止单个命令将使其变得极为复杂和脆弱,因为\必须始终是特殊的,然后提前查看以下字符是否是允许的命令,如果不是,则备份并插入自身作为数据。这不太可能以可预测或可理解的方式发挥作用。

正如评论中所述,您无法调用该命令\output,因为这是一个 tex 原语,但由于该命令仅与输入有关,所以在这里似乎没有太多困难。

相关内容