关于设置制作包含数学的 LaTeX 文档的工作流程的问题

关于设置制作包含数学的 LaTeX 文档的工作流程的问题

我想以定义、定理、证明(定理的证明)、示例和插图(图像)的形式做笔记。每个定义、定理等都是(虚拟)列表中的一项。关键是我想在最晚的时刻决定如何以笔记、书籍、演示幻灯片等形式呈现信息。- 我将使用 LaTeX(使用适用于 Windows 的 TeXstudio)做笔记。我可能需要 XML 或类似 Docbook 的东西来满足我的需求,我不确定。我正在寻找一个小例子来朝着正确的方向开始。所以我的笔记将看起来像这样。

Definition. A space is a set which admits to some type of structure.
Theorem. Let P,Q be points in the plane. Now P,Q, ....
Proof. Given P,Q. Therefore, ...
Definition. A set is a collection of objects.

这样的笔记将以 LaTeX 编写。我可能希望以几种格式呈现笔记。例如,以下三种。(关键是我希望尽可能晚地决定呈现问题。)

Format 1:
Title
Contents
Chapter 1: Definitions
Chapter 2: Examples
Chapter 3: Theorems
Chapter 4: Proofs

Chapter 1: Definitions
(Section) 1: Space
Definition. A space is a set which admits to some type of structure. 
  ( The word space typeset in bold )
(Section) 2: Set
Definition. A set is a collection of objects.

Chapter 2: Examples
Example 1.
Example 2.

格式 2:与上文相同,但采用备忘单布局,因此没有标题页和目录,只有多列格式的注释列表。请参阅:https://www.sharelatex.com/templates/other/math-cheat-sheet

格式 3:仅校样。每份校样均为幻灯片格式,每段校样占一页。

我有编写 LaTeX 文档的经验,因此我可以生成所需的格式,但这会涉及大量文本重复等。我正在寻找(我不知道的)额外步骤、工具,以便我可以完全专注于工作内容,并在以后担心呈现时不会出现元素重复。我确实理解并接受这可能需要(大量)准备工作,如果它能实现上述目标,那么我很乐意投入时间。

现在(具体、可回答的)问题是。除了 TexStudio 之外,我还需要其他工具吗?如果需要,需要哪些工具?如果不需要,我需要在 LaTeX 中做什么?也许可以创建自己的文档类?如果是这样,那么如何从一个文本文件创建三个(或更多)文档?

我将非常感激任何想法、建议、例子和正确的方向。

答案1

一种选择是使用您定义的具有语义意义的宏来编写文档,然后\input将该文档分成不同的文档类(或自定义序言),以不同的方式对其进行排版。您可以根据需要重新定义每个文档中的命令。

此示例只是您可以做的事情的一种概念证明。在此示例中,我创建了三个 .tex 文件:

  1. notesfile.tex-- 这是您的基本注释文件。注释是使用可单独定义的自定义宏编写的,注释本身被包装在宏命令中,以便您可以单独调用它们。
  2. notesbeamer.tex-- 该文件以 beamer 演示文稿的形式处理来自 notes 文件的文本。
  3. notesarticle.tex-- 该文件以文章或讲义格式处理笔记文件中的文本。

保存每个文件,然后使用 编译 beamer 文件pdflatex notesbeamer,使用 编译文章文件pdflatex notesarticle


notesfile.tex

\newcommand{\notesOnLetters}{%
\notesSection{Letters}
A is the first letter.
B is the second.
Z is the last one.%
}

\newcommand{\notesOnNumbers}{%
\notesSection{Numbers}
\begin{mylist}
\item We may assume that $1 + 1 = 2$.
\item That is \strong{addition}.
\end{mylist}%
}

notesbeamer.tex

\documentclass{beamer}

% Define \notesSection as beamer frame title
\newcommand{\notesSection}[1]{%
    \frametitle{#1}%
}
% Define mylist as itemize
\newenvironment{mylist}
    {\begin{itemize}}
    {\end{itemize}}

% Define \strong as \alert
\let\strong\alert

% Bring in notes accessible through commands defined in notesfile
\input{notesfile}

\begin{document}

\begin{frame}
\notesOnLetters
\end{frame}

\begin{frame}
\notesOnNumbers
\end{frame}

\end{document}

notesarticle.tex

\documentclass{article}

% Define \notesSection as article \subsection
\newcommand{\notesSection}[1]{%
    \subsection{#1}%
}
% Define mylist as enumerate
\newenvironment{mylist}
    {\begin{enumerate}}
    {\end{enumerate}}

% Define \strong as boldface
\let\strong\textbf

% Bring in notes accessible through commands defined in notesfile
\input{notesfile}

\begin{document}

\title{Things You Should Know}
\author{Professor}
\maketitle

\section{Review}

\notesOnLetters

\section{New Concepts}

\notesOnNumbers

\end{document}

投影机输出: 在此处输入图片描述

文章输出: 在此处输入图片描述

相关内容