我查看了其他问题,没有找到任何与我的问题相关的答案。如果这是某个我没见过的问题的重复,请随意评论。
我是一位经验丰富的 TeX 用户,使用 TeX 编写代码已有 3-4 年了。我对 TikZ 也相当熟练。问题是,我所学到的所有知识都来自我的一位老师,他给了我软件包,这样我就不用担心了,而且我从未自己接触过技术方面的东西(或者至少从未理解过其中的任何东西)。
我想写一本书,所以我需要能够处理诸如边距、标签、分页之类的东西,将我的 TeX 文件分成多个文件,这样我就不必每次想要删除/添加逗号等时都编译整本书。我正在寻找 - 不是一本像字典一样说明所有命令功能的用户手册,因为我知道有很多,我有一些 - 而是像使用书籍类的介绍,带有示例等。如果你知道我在说什么,PGF-TikZ pdf 就是这种 PDF 的一个很好的例子;它描述了命令,是的,但是有很多例子,而且在构建更大的示例时通常会详细说明小命令。
答案1
嗯,根据我的经验,我建议你首先关注内容,然后再关注内容,最后再关注内容。最后,你可以尝试不同的样式和包来修改文本的外观。对于像书这样的长期项目,不要让不重要的事情分散太多注意力是非常重要的。
最后,可能会有出版商坚持使用特定的风格/类别。许多科学出版商都有自己的类别,读者必须使用。但除非你有完整的手稿,否则出版商不太可能同意出版你的文本。所以首先:只需用一些标准类别(普通书籍类别......)编写内容并完成文本。
编辑:好的,也许这没有太大帮助,所以这里还有一些补充:
首先,你应该问自己,你想针对什么样的读者。这将在很大程度上决定你的写作方式。在数学方面,你想要一本有练习和详细证明的教科书,或者一本有扩展参考书目的专著,等等。
组织和整理您的想法。制作一个目录,其中包含所有章节/小节的初步摘要。我曾经在单独的 tex 文件“plan.tex”中执行此操作,该文件在写作过程中也可能发生(相当多)更改。
符号要一致。在写作之前,你应该先解决一些符号问题:特别是在数学中,始终使用相同的符号、使用其他人熟悉的符号等非常重要。
制作一个 main.tex,其中包含输入/包含章节的内容,这些章节输入了章节等。这里的样式/类还不是必需的,它应该只支持“\chapter”之类的命令。请注意
input
是一个更快但更简单甚至有限的命令。mwe
:\documentclass[a4paper,10pt]{book} \input{packages} %\usepackage[utf8]{inputenc} \begin{document} \include{chapter1} \include{chapter2} \input{etc} \end{document}
用内容填充你的文件。这将占用你 99% 的时间。
请与出版商等核实您想要发布作品的位置。他们将提供样式文件或告诉您他们传统上使用的标准样式。如果他们想发布作品的话。
然后,与其他相比,这并不需要太多的工作,使您的源适应所需的类别/样式,修复水平盒子,调整参考书目,适当缩放图片等。
所以我希望这是一个合理的工作流程。第 5 点才是真正需要最多关注和努力的,其余的都是装饰。
答案2
如果你已经熟悉(LaTeX),那么我诚挚地建议你开始编写(正如 Yiannis 所说),但使用memoir
类(你可以在工作进展过程中同时阅读),而不是book
。
Memoir 包含两个非常好的手册:用于可配置排版的 Memoir 类是好的排版和操作方法的结合,并且关于书籍设计的几点说明其中涉及一些历史和基本原理。
我使用回忆录已有七年左右了。最初有一个学习曲线(但这只是因为我要求的调整已经超出了可能的范围!),但它已经多次回报了我的投资,而且,如今,除了书籍之外,我唯一不使用它的memoir
就是演示文稿。
我唯一要提出的其他建议是:因为它是一个“新项目”,所以使用 LuaLaTeX、BibLaTeX、fontspec 进行字体调整,以及 100% unicode。
答案3
展示与内容分离
LaTeX 的理念是作者应该能够专注于他们所写内容,而不会被其视觉呈现所分散注意力。在准备 LaTeX 文档时,作者使用熟悉的概念(如章节、部分、表格、图形等)指定逻辑结构,并让 LaTeX 系统负责这些结构的呈现。因此,它鼓励将布局与内容分开,同时仍允许在需要时手动调整排版。
(摘自维基百科)
我同意其他贡献者描述的很多事情,但我认为如果你想避免浪费时间,你需要准备表现与内容分离。
所有好的课程都会提供分段工具。因此,你可以从章节、节等开始。但如果你想写一本数学书,你需要定理、定义、注释、例子等。
有些课程会提供这些工具,但创建它们很容易。第一次,这些环境什么都做不了:例如
\newenvironment{theo}{My theorem :}{\par}
\begin{theo}
All I have to do it's to use fake environment
\end{theo}
然后您需要创建一些宏(假的或空的宏)
\newword
\GreatPerson
\ImportantWord
或者FirstDef
您可以像这样定义这些宏:
\newcommand{\ImportantWord}[1]{#1}
\newcommand{\GreatPerson}[1]{#1}
\ImportantWord{Geometry}
\GreatPerson{Pythagore}
我忘记了两个重要的宏:\number
和\unit
。直接选择“sinunitx”或“numprint”并不重要,但您需要准备数字和单位的格式。如果您不立即这样做,那么最后格式化数字就是浪费时间。
你需要准备索引和参考书目。我认为准备索引非常有用。第一次你可以使用,\index{thisword}
但有一些特定的宏会很有用。你可以看看 Mathmode.ltx
Herbert Voss 的文件来获得一些想法。你可以找到类似
\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}}
\def\cIndex#1{\index{#1@\CMD{#1}}}
但第一次使用假宏是可以的!
现在,您可以“立即”开始写作,使用标准的书籍类别,而不必过多担心演示。
有了环境和宏,您就可以按照自己的意愿完成演示。如果没有这些环境和宏,很难在文本中找到某些内容。
答案4
与这里的其他答案相反,我真的建议花几天时间在 LaTeX 中准备一个框架。
仔细考虑您的工作流程和所需的技术工具。
例如,你将如何离开评论和注释你自己要删除它们吗?你如何删除它们?我通常用小红字将它们写在页边空白处并使用包marginfix
。为此,我定义了一个新命令,简单来说就是\Anm
(德语注释缩写)。
您需要版本比较?甚至不同的版本?花一天时间熟悉版本系统。我正在使用git
和来建立脚本版本之间的比较latexdiff-git
。如果您遇到困难并需要返回到早期版本,版本系统可能会有很大帮助。
我更喜欢scrbook
回忆录,因为 KOMA-script 采用了欧洲的排版方式,还有许多其他原因。
为了加快编译速度,请查看latexmk
。
最重要的是:雇用\label
和\ref
尽可能多地任何参考。了解如何使用Zotero
或以任何方式管理您的参考书目!可能您应该更喜欢 BibLaTeX 而不是 BibTeX。
哪种编码?可能是 utf-8,但是,不要混淆编码,选择一种适合您书中所有类型文本的编码。
不要将 LuaTeX 或 XeTeX 用于严肃的项目。LuaTeX 漏洞百出,速度很慢。多年以来,pdfTeX 仍然是引擎。一年来,LuaTeX 一直没有新版本!
您如何处理 texlive 或 MikTeX 的更新/升级?Libertine 软件包的前维护者有一天发布了一个不兼容的更新,在收到一些不友好的评论后退出了对该软件包的维护,只留下我和损坏的文件。因此,在遇到很大压力之前,最好有办法测试您的每月更新。
您将如何在公司内部和其他地方持续备份您的工作?
我可以继续写,但我想你已经明白了:一开始就认真思考工作流程的每一步。
根据以下评论进行编辑:
正如用户 pmav99 所说,如果你使用非拉丁字体,XeTeX 非常有用。我同意这一点;我对 XeTeX 的缺点太狭隘了。肯定有优点可以证明在“严肃的项目中”使用 XeTeX 是合理的。
三年后编辑:
LuaTeX 稍微快了一点,但在 Windows 机器上仍然比 pdftex 慢得多。BibLaTeX 和 Biber 是最先进的。至于我的其余回答:没有变化。