feat(src/tm-notes):Convert notes.tm into a book. Add exercise notes.
authorSteven Baltakatei Sandoval <baltakatei@gmail.com>
Mon, 13 Feb 2023 05:34:13 +0000 (05:34 +0000)
committerSteven Baltakatei Sandoval <baltakatei@gmail.com>
Mon, 13 Feb 2023 05:34:13 +0000 (05:34 +0000)
src/tm-notes/book.tm [new file with mode: 0644]
src/tm-notes/ch1.tm [moved from src/notes.tm with 73% similarity]
src/tm-notes/ch2.tm [new file with mode: 0644]
src/tm-notes/ch3.tm [new file with mode: 0644]
src/tm-notes/style-bk.ts [moved from src/style-bk.ts with 100% similarity]

diff --git a/src/tm-notes/book.tm b/src/tm-notes/book.tm
new file mode 100644 (file)
index 0000000..57c2804
--- /dev/null
@@ -0,0 +1,144 @@
+<TeXmacs|2.1.1>
+
+<style|<tuple|book|style-bk>>
+
+<\body>
+  <doc-data|<doc-title|<TeXmacs> notes for <name|The C Programming
+  Language>>|<doc-author|<author-data|<author-name|Steven William
+  \PBaltakatei\Q Sandoval>|<author-email|baltakatei@gmail.com>|<author-homepage|reboil.com>>>|<doc-date|2023>>
+
+  <include|ch1.tm>
+
+  <include|ch2.tm>
+
+  <include|ch3.tm>
+
+  \;
+</body>
+
+<\initial>
+  <\collection>
+    <associate|page-medium|paper>
+    <associate|preamble|false>
+    <associate|project-flag|true>
+  </collection>
+</initial>
+
+<\references>
+  <\collection>
+    <associate|auto-1|<tuple|1|5|ch1.tm>>
+    <associate|auto-2|<tuple|1.1|5|ch1.tm>>
+    <associate|auto-3|<tuple|1.2|8|ch1.tm>>
+    <associate|auto-4|<tuple|1.2.1|8|ch1.tm>>
+    <associate|auto-5|<tuple|2|9|ch2.tm>>
+    <associate|auto-6|<tuple|2.1|9|ch2.tm>>
+    <associate|auto-7|<tuple|2.2|9|ch2.tm>>
+    <associate|auto-8|<tuple|3|11|ch3.tm>>
+    <associate|footnote-1.1.1|<tuple|1.1.1|5|ch1.tm>>
+    <associate|footnote-1.1.10|<tuple|1.1.10|7|ch1.tm>>
+    <associate|footnote-1.1.11|<tuple|1.1.11|7|ch1.tm>>
+    <associate|footnote-1.1.2|<tuple|1.1.2|5|ch1.tm>>
+    <associate|footnote-1.1.3|<tuple|1.1.3|6|ch1.tm>>
+    <associate|footnote-1.1.4|<tuple|1.1.4|6|ch1.tm>>
+    <associate|footnote-1.1.5|<tuple|1.1.5|6|ch1.tm>>
+    <associate|footnote-1.1.6|<tuple|1.1.6|6|ch1.tm>>
+    <associate|footnote-1.1.7|<tuple|1.1.7|6|ch1.tm>>
+    <associate|footnote-1.1.8|<tuple|1.1.8|6|ch1.tm>>
+    <associate|footnote-1.1.9|<tuple|1.1.9|7|ch1.tm>>
+    <associate|footnote-1.2.1|<tuple|1.2.1|8|ch1.tm>>
+    <associate|footnote-1.2.2|<tuple|1.2.2|8|ch1.tm>>
+    <associate|footnote-1.2.3|<tuple|1.2.3|8|ch1.tm>>
+    <associate|footnote-1.2.4|<tuple|1.2.4|8|ch1.tm>>
+    <associate|footnote-1.2.5|<tuple|1.2.5|8|ch1.tm>>
+    <associate|footnr-1.1.1|<tuple|1.1.1|5|ch1.tm>>
+    <associate|footnr-1.1.10|<tuple|1.1.10|7|ch1.tm>>
+    <associate|footnr-1.1.11|<tuple|1.1.11|7|ch1.tm>>
+    <associate|footnr-1.1.2|<tuple|1.1.2|5|ch1.tm>>
+    <associate|footnr-1.1.3|<tuple|1.1.3|6|ch1.tm>>
+    <associate|footnr-1.1.4|<tuple|1.1.4|6|ch1.tm>>
+    <associate|footnr-1.1.5|<tuple|1.1.5|6|ch1.tm>>
+    <associate|footnr-1.1.6|<tuple|1.1.6|6|ch1.tm>>
+    <associate|footnr-1.1.7|<tuple|1.1.7|6|ch1.tm>>
+    <associate|footnr-1.1.8|<tuple|1.1.8|6|ch1.tm>>
+    <associate|footnr-1.1.9|<tuple|1.1.9|7|ch1.tm>>
+    <associate|footnr-1.2.1|<tuple|1.2.1|8|ch1.tm>>
+    <associate|footnr-1.2.2|<tuple|1.2.2|8|ch1.tm>>
+    <associate|footnr-1.2.3|<tuple|1.2.3|8|ch1.tm>>
+    <associate|footnr-1.2.4|<tuple|1.2.4|8|ch1.tm>>
+    <associate|footnr-1.2.5|<tuple|1.2.5|8|ch1.tm>>
+    <associate|func getchar|<tuple|1.2.1|8|ch1.tm>>
+    <associate|func putchar|<tuple|3|8|ch1.tm>>
+    <associate|part:ch1.tm|<tuple|?|5|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|part:ch2.tm|<tuple|1.2.5|9|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|part:ch3.tm|<tuple|2.2|11|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|ref includehelp-oct-hex|<tuple|1.1.3|6|ch1.tm>>
+    <associate|term declaration|<tuple|call|5|ch1.tm>>
+    <associate|term definition|<tuple|1.1.1|5|ch1.tm>>
+    <associate|term enumeration|<tuple|linter|5|ch1.tm>>
+    <associate|term escape_sequence|<tuple|enumeration|5|ch1.tm>>
+    <associate|term garbage_collection|<tuple|1.1.10|7|ch1.tm>>
+    <associate|term heap|<tuple|garbage collection|7|ch1.tm>>
+    <associate|term machine-independent|<tuple|<label|term
+    heap>heap|7|ch1.tm>>
+    <associate|term operand|<tuple|<label|term
+    machine-independent>machine-independent|7|ch1.tm>>
+    <associate|term operator|<tuple|<label|term operand>operand|7|ch1.tm>>
+    <associate|term stack|<tuple|parameter|7|ch1.tm>>
+    <associate|term struct|<tuple|1.1.11|7|ch1.tm>>
+    <associate|term structure_assignment|<tuple|<label|term
+    struct>struct|7|ch1.tm>>
+    <associate|term text_stream|<tuple|structure assignment|7|ch1.tm>>
+    <associate|term_argument|<tuple|1.1|5|ch1.tm>>
+    <associate|term_call|<tuple|assignment|5|ch1.tm>>
+    <associate|term_expression|<tuple|1.1.4|6|ch1.tm>>
+    <associate|term_function|<tuple|1.1.8|7|ch1.tm>>
+    <associate|term_function_call|<tuple|function|7|ch1.tm>>
+    <associate|term_function_prototype|<tuple|function call|7|ch1.tm>>
+    <associate|term_linter|<tuple|1.1.2|5|ch1.tm>>
+    <associate|term_parameter|<tuple|<label|term operator>operator|7|ch1.tm>>
+    <associate|term_statement|<tuple|<label|term stack>stack|7|ch1.tm>>
+    <associate|term_type|<tuple|<label|term text_stream>text
+    stream|8|ch1.tm>>
+  </collection>
+</references>
+
+<\auxiliary>
+  <\collection>
+    <\associate|parts>
+      <tuple|ch1.tm|chapter-nr|0|section-nr|0|subsection-nr|0>
+
+      <tuple|ch2.tm|chapter-nr|1|section-nr|2|subsection-nr|1>
+
+      <tuple|ch3.tm|chapter-nr|2|section-nr|2|subsection-nr|0>
+    </associate>
+    <\associate|toc>
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Definitions>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-1><vspace|0.5fn>
+
+      1.1<space|2spc>Terminology <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-2>
+
+      1.2<space|2spc>Functions <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-3>
+
+      <with|par-left|<quote|1tab>|1.2.1<space|2spc>Character Input and Output
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-4>>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>Utilities>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-5><vspace|0.5fn>
+
+      2.1<space|2spc>Text Editor <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-6>
+
+      2.2<space|2spc>Linter <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-7>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>K&R
+      Exercises> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-8><vspace|0.5fn>
+    </associate>
+  </collection>
+</auxiliary>
\ No newline at end of file
similarity index 73%
rename from src/notes.tm
rename to src/tm-notes/ch1.tm
index 30d61d87532f58552a8d4eabbf0eea8336d972ae..c18aa7fec68298db02c2774ffbae029c095a3dac 100644 (file)
@@ -1,16 +1,10 @@
 <TeXmacs|2.1.1>
 
+<project|book.tm>
+
 <style|<tuple|book|style-bk>>
 
 <\body>
-  <\hide-preamble>
-    \;
-
-    <assign|description-aligned|<\macro|body>
-      <compound|<if|<and|<value|<merge|prefix-|description-aligned>>|<unequal|<value|last-item-nr>|0>>|list*|list>|<macro|name|<aligned-item|<item-strong|<arg|name><item-spc>>>>|<macro|name|<with|mode|math|<with|font-series|bold|math-font-series|bold|<rigid|\<ast\>>>>>|<arg|body>>
-    </macro>>
-  </hide-preamble>
-
   <chapter|Definitions>
 
   <section|Terminology>
   </description>
 
   \;
-
-  <chapter|Utilities>
-
-  <section|Text Editor>
-
-  <\itemize>
-    <item><name|Emacs> - GNU text editor. See
-    <hlinkv|https://www.gnu.org/software/emacs/>.
-
-    <item><name|Vim> - text editor See <hlinkv|https://www.vim.org/>.
-  </itemize>
-
-  <section|Linter>
-
-  (TODO: Insert C language linter here)
-
-  \;
 </body>
 
 <\initial>
   <\collection>
-    <associate|preamble|false>
+    <associate|page-medium|papyrus>
   </collection>
 </initial>
 
 <\references>
   <\collection>
-    <associate|auto-1|<tuple|1|?>>
-    <associate|auto-2|<tuple|1.1|?>>
-    <associate|auto-3|<tuple|1.2|?>>
-    <associate|auto-4|<tuple|1.2.1|?>>
-    <associate|auto-5|<tuple|2|?>>
-    <associate|auto-6|<tuple|2.1|?>>
-    <associate|auto-7|<tuple|2.2|?>>
-    <associate|footnote-1.1.1|<tuple|1.1.1|?>>
-    <associate|footnote-1.1.10|<tuple|1.1.10|?>>
-    <associate|footnote-1.1.11|<tuple|1.1.11|?>>
-    <associate|footnote-1.1.2|<tuple|1.1.2|?>>
-    <associate|footnote-1.1.3|<tuple|1.1.3|?>>
-    <associate|footnote-1.1.4|<tuple|1.1.4|?>>
-    <associate|footnote-1.1.5|<tuple|1.1.5|?>>
-    <associate|footnote-1.1.6|<tuple|1.1.6|?>>
-    <associate|footnote-1.1.7|<tuple|1.1.7|?>>
-    <associate|footnote-1.1.8|<tuple|1.1.8|?>>
-    <associate|footnote-1.1.9|<tuple|1.1.9|?>>
-    <associate|footnote-1.2.1|<tuple|1.2.1|?>>
-    <associate|footnote-1.2.2|<tuple|1.2.2|?>>
-    <associate|footnote-1.2.3|<tuple|1.2.3|?>>
-    <associate|footnote-1.2.4|<tuple|1.2.4|?>>
-    <associate|footnote-1.2.5|<tuple|1.2.5|?>>
-    <associate|footnr-1.1.1|<tuple|1.1.1|?>>
-    <associate|footnr-1.1.10|<tuple|1.1.10|?>>
-    <associate|footnr-1.1.11|<tuple|1.1.11|?>>
-    <associate|footnr-1.1.2|<tuple|1.1.2|?>>
-    <associate|footnr-1.1.3|<tuple|1.1.3|?>>
-    <associate|footnr-1.1.4|<tuple|1.1.4|?>>
-    <associate|footnr-1.1.5|<tuple|1.1.5|?>>
-    <associate|footnr-1.1.6|<tuple|1.1.6|?>>
-    <associate|footnr-1.1.7|<tuple|1.1.7|?>>
-    <associate|footnr-1.1.8|<tuple|1.1.8|?>>
-    <associate|footnr-1.1.9|<tuple|1.1.9|?>>
-    <associate|footnr-1.2.1|<tuple|1.2.1|?>>
-    <associate|footnr-1.2.2|<tuple|1.2.2|?>>
-    <associate|footnr-1.2.3|<tuple|1.2.3|?>>
-    <associate|footnr-1.2.4|<tuple|1.2.4|?>>
-    <associate|footnr-1.2.5|<tuple|1.2.5|?>>
-    <associate|func getchar|<tuple|1.2.1|?>>
-    <associate|func putchar|<tuple|3|?>>
-    <associate|ref includehelp-oct-hex|<tuple|1.1.3|?>>
-    <associate|term declaration|<tuple|call|?>>
-    <associate|term definition|<tuple|1.1.1|?>>
-    <associate|term enumeration|<tuple|linter|?>>
-    <associate|term escape_sequence|<tuple|enumeration|?>>
-    <associate|term garbage_collection|<tuple|1.1.10|?>>
-    <associate|term heap|<tuple|garbage collection|?>>
-    <associate|term machine-independent|<tuple|<label|term heap>heap|?>>
+    <associate|auto-1|<tuple|1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-2|<tuple|1.1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-3|<tuple|1.2|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-4|<tuple|1.2.1|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.1|<tuple|1.1.1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.10|<tuple|1.1.10|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.11|<tuple|1.1.11|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.2|<tuple|1.1.2|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.3|<tuple|1.1.3|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.4|<tuple|1.1.4|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.5|<tuple|1.1.5|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.6|<tuple|1.1.6|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.7|<tuple|1.1.7|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.8|<tuple|1.1.8|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.1.9|<tuple|1.1.9|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.2.1|<tuple|1.2.1|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.2.2|<tuple|1.2.2|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.2.3|<tuple|1.2.3|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.2.4|<tuple|1.2.4|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnote-1.2.5|<tuple|1.2.5|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.1|<tuple|1.1.1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.10|<tuple|1.1.10|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.11|<tuple|1.1.11|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.2|<tuple|1.1.2|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.3|<tuple|1.1.3|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.4|<tuple|1.1.4|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.5|<tuple|1.1.5|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.6|<tuple|1.1.6|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.7|<tuple|1.1.7|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.8|<tuple|1.1.8|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.1.9|<tuple|1.1.9|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.2.1|<tuple|1.2.1|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.2.2|<tuple|1.2.2|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.2.3|<tuple|1.2.3|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.2.4|<tuple|1.2.4|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|footnr-1.2.5|<tuple|1.2.5|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|func getchar|<tuple|1.2.1|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|func putchar|<tuple|3|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|ref includehelp-oct-hex|<tuple|1.1.3|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term declaration|<tuple|call|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term definition|<tuple|1.1.1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term enumeration|<tuple|linter|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term escape_sequence|<tuple|enumeration|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term garbage_collection|<tuple|1.1.10|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term heap|<tuple|garbage collection|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term machine-independent|<tuple|<label|term
+    heap>heap|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
     <associate|term operand|<tuple|<label|term
-    machine-independent>machine-independent|?>>
-    <associate|term operator|<tuple|<label|term operand>operand|?>>
-    <associate|term stack|<tuple|parameter|?>>
-    <associate|term struct|<tuple|1.1.11|?>>
-    <associate|term structure_assignment|<tuple|<label|term struct>struct|?>>
-    <associate|term text_stream|<tuple|structure assignment|?>>
-    <associate|term_argument|<tuple|1.1|?>>
-    <associate|term_call|<tuple|assignment|?>>
-    <associate|term_expression|<tuple|1.1.4|?>>
-    <associate|term_function|<tuple|1.1.8|?>>
-    <associate|term_function_call|<tuple|function|?>>
-    <associate|term_function_prototype|<tuple|function call|?>>
-    <associate|term_linter|<tuple|1.1.2|?>>
-    <associate|term_parameter|<tuple|<label|term operator>operator|?>>
-    <associate|term_statement|<tuple|<label|term stack>stack|?>>
-    <associate|term_type|<tuple|<label|term text_stream>text stream|?>>
+    machine-independent>machine-independent|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term operator|<tuple|<label|term
+    operand>operand|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term stack|<tuple|parameter|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term struct|<tuple|1.1.11|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term structure_assignment|<tuple|<label|term
+    struct>struct|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term text_stream|<tuple|structure
+    assignment|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_argument|<tuple|1.1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_call|<tuple|assignment|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_expression|<tuple|1.1.4|2|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_function|<tuple|1.1.8|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_function_call|<tuple|function|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_function_prototype|<tuple|function
+    call|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_linter|<tuple|1.1.2|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_parameter|<tuple|<label|term
+    operator>operator|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_statement|<tuple|<label|term
+    stack>stack|3|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|term_type|<tuple|<label|term text_stream>text
+    stream|4|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
   </collection>
 </references>
 
       <with|par-left|<quote|1tab>|1.2.1<space|2spc>Character Input and Output
       <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
       <no-break><pageref|auto-4>>
-
-      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>Utilities>
-      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
-      <no-break><pageref|auto-5><vspace|0.5fn>
-
-      2.1<space|2spc>Text Editor <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
-      <no-break><pageref|auto-6>
-
-      2.2<space|2spc>Linter <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
-      <no-break><pageref|auto-7>
     </associate>
   </collection>
 </auxiliary>
\ No newline at end of file
diff --git a/src/tm-notes/ch2.tm b/src/tm-notes/ch2.tm
new file mode 100644 (file)
index 0000000..1492ff0
--- /dev/null
@@ -0,0 +1,52 @@
+<TeXmacs|2.1.1>
+
+<project|book.tm>
+
+<style|<tuple|book|style-bk>>
+
+<\body>
+  <chapter|Utilities>
+
+  <section|Text Editor>
+
+  <\itemize>
+    <item><name|Emacs> - GNU text editor. See
+    <hlinkv|https://www.gnu.org/software/emacs/>.
+
+    <item><name|Vim> - text editor See <hlinkv|https://www.vim.org/>.
+  </itemize>
+
+  <section|Linter>
+
+  (TODO: Insert C language linter here)
+</body>
+
+<\initial>
+  <\collection>
+    <associate|page-medium|papyrus>
+  </collection>
+</initial>
+
+<\references>
+  <\collection>
+    <associate|auto-1|<tuple|1|1|../../../../.TeXmacs/texts/scratch/no_name_7.tm>>
+    <associate|auto-2|<tuple|1.1|1|../../../../.TeXmacs/texts/scratch/no_name_7.tm>>
+    <associate|auto-3|<tuple|1.2|1|../../../../.TeXmacs/texts/scratch/no_name_7.tm>>
+  </collection>
+</references>
+
+<\auxiliary>
+  <\collection>
+    <\associate|toc>
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Utilities>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-1><vspace|0.5fn>
+
+      1.1<space|2spc>Text Editor <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-2>
+
+      1.2<space|2spc>Linter <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-3>
+    </associate>
+  </collection>
+</auxiliary>
\ No newline at end of file
diff --git a/src/tm-notes/ch3.tm b/src/tm-notes/ch3.tm
new file mode 100644 (file)
index 0000000..2249160
--- /dev/null
@@ -0,0 +1,290 @@
+<TeXmacs|2.1.1>
+
+<project|book.tm>
+
+<style|<tuple|book|style-bk>>
+
+<\body>
+  <chapter|K&R Notes>
+
+  <section|Ch. 1: A Tutorial Introduction>
+
+  <subsection|Sec. 1.1: Getting Started>
+
+  \;
+
+  <\description>
+    <item*|Exercise 1-1>Run the \P<verbatim|hello, world>\Q program on your
+    system. Experiment with leaving out parts of the program, to see what
+    error messages you get.
+
+    <item*|Exercise 1-2>Experiment to find out what happens when
+    <cpp|printf>'s argument string contains <cpp|\\><em|c>, where <em|c> is
+    some character not listed above.
+  </description>
+
+  <subsection|Sec. 1.2: Variables and Arithmetic Expressions>
+
+  <\description>
+    <item*|Exercise 1-3>Modify the temperature conversion program to bring a
+    heading above the table.
+
+    <item*|Exercise 1-4>Write a program to bring the corresponding Celsius to
+    Fahrenheit table.
+  </description>
+
+  <subsection|Sec. 1.3: The For Statement>
+
+  <\description>
+    <item*|Exercise 1-5>Modify the temperature conversion program to print
+    the table in reverse order, that is, from <math|300> degrees to <math|0>.
+  </description>
+
+  <subsection|Sec. 1.4: Symbolic Constants>
+
+  <subsection|Sec. 1.5: Character Input and Output>
+
+  <subsubsection|Sec. 1.5.1: File Copying>
+
+  <\description>
+    <item*|Exercise 1-6>Verify that the expression <cpp|getchar() != EOF> is
+    <math|0> or <math|1>.
+
+    <item*|Exercise 1-7>Write a program to print the value of <cpp|EOF>.
+  </description>
+
+  <subsubsection|Sec. 1.5.2: Character Counting>
+
+  <subsubsection|Sec. 1.5.3: Line Counting>
+
+  <\description>
+    <item*|Exercise 1-8>Write a program to count blanks, tabs, and newlines.
+
+    <item*|Exercise 1-9>Write a program to copy its input to its output,
+    replacing each string of one or more blanks by a single blank.
+
+    <item*|Exercise 1-10>Write a program to copy its input to its output,
+    replacing each tab by <cpp|\\t>, each backspace by <cpp|\\b>, and each
+    backslash by <cpp|\\\\>. This makes tabs and backspaces visible in an
+    unambiguous way.
+  </description>
+
+  <subsubsection|Sec. 1.5.4: Word Counting>
+
+  <\description>
+    <item*|Exercise 1-11>How would you test the word program? What kinds of
+    input are most likely to uncover bugs if there are any?
+
+    <item*|Exercise 1-12>Write a program that prints its input one word per
+    line.
+  </description>
+
+  <subsection|Sec. 1.6: Arrays>
+
+  <\description>
+    <item*|Exercise 1-13>Write a program to print a histogram of the lengths
+    of words in its input. IT is easy to draw the histogram with the bars
+    horizontal; a vertical orientation is more challenging.
+
+    <item*|Exercise 1-14>Write a program to print a histogram of the
+    frequencies of different characters in its input.
+  </description>
+
+  <subsection|Sec 1.7: Functions>
+
+  <\description>
+    <item*|Exercise 1-15>Rewrite the temperature conversion program of
+    Section 1.2 to use a function for conversion.
+  </description>
+
+  <subsection|Sec 1.8: Arguments\UCall by Value>
+
+  <subsection|Sec 1.9: Character Arrays>
+
+  <\description>
+    <item*|Exercise 1-16>Revise the main routine of the longest-line program
+    so it will correctly print the length of arbitrarily long input lines,
+    and as much as possible of the text.
+
+    <item*|Exercise 1-17>Write a program to print all input lines that are
+    longer than <math|80> characters.
+
+    <item*|Exercise 1-18>Write a program to remove trailing blanks and tabs
+    from each line of input, and to delete entirely blank lines.
+
+    <item*|Exercise 1-19>Write a function <cpp|reverse(s)> that reverses the
+    character string <cpp|s>. Use it to write a program that reverses its
+    input a line at a time.
+  </description>
+
+  <subsection|Sec 1.10: External Variables and Scope>
+
+  <\description>
+    <item*|Exercise 1-20>Write a program <cpp|detab> that replaces tabs in
+    the input with the proper number of blanks to space to the next tab stop.
+    Assume a fixed set of tab stops, say every <em|n> columns. Should <em|n>
+    be a variable or a symbolic parameter?
+
+    <item*|Exercise 1-21>Write a program <cpp|entab> that replaces strings of
+    blanks by the minimum number of tabs and blanks to achieve the same
+    spacing. Use the same tab stops as for <cpp|detab>. When either a tab or
+    a single blank would suffice to each a tab stop, which should be given
+    preference?
+
+    <item*|Exercise 1-22>Write a program to \Pfold\Q long input lines into
+    two or more shorter lines after the last non-blank character that occurs
+    before the <em|n>-th column of input. Make sure your program does
+    something intelligent with very long lines, and if there are no blanks or
+    tabs before the specified column.
+
+    <item*|Exercise 1-23>Write a program to remove all comments from a
+    <name|C> program. Don't forget to handle quoted strings and character
+    constants properly. <name|C> comments do not nest.
+
+    <item*|Exercise 1-24>Write a program to check a <name|C> program for
+    rudimentary syntax errors like unbalanced parentheses, brackets and
+    braces. Don't forget about quotes, both single and double, escape
+    sequences, and comments. (This program is hard if you do it in full
+    generality.)
+  </description>
+
+  <section|Ch2: Types, Operators, and Expressions>
+
+  <subsection|Sec 2.1: Variable names>
+
+  <subsection|Sec 2.2: Data Types and Sizes>
+
+  <\description>
+    <item*|Exercise 2-1>Write a program to determine the ranges of
+    <cpp|char>, <cpp|short>, <cpp|int>, and <cpp|long> variables, both
+    <cpp|signed> and <cpp|unsigned>, by printing appropriate values from
+    standard headers and by direct computation. Harder if you compute them:
+    determine the ranges of the various floating-point types.
+  </description>
+
+  <subsection|Sec 2.3: Constants>
+
+  <subsection|Sec 2.4: Declarations>
+
+  <subsection|Sec 2.5: Arithmetic Operators>
+
+  <subsection|Sec 2.6: Relational and Logical Operators>
+
+  <\description>
+    <item*|Exercise 2-2>Write a loop equivalent to the <cpp|for> loop above
+    without using <cpp|&&> or <cpp|\|\|>.
+  </description>
+
+  <subsection|Sec 2.7: Type Conversions>
+
+  <\description>
+    <item*|Exercise 2-3>Write the function <cpp|htoi(s)>, which converts a
+    string of hexadecimal digits (including an optional <cpp|0x> or <cpp|0X>)
+    into its equivalent integer value. The allowable digits are <cpp|0>
+    through <cpp|9>, <cpp|a> through <cpp|f>, and <cpp|A> through <cpp|F>.
+  </description>
+
+  <subsection|Sec 2.8: Increment and Decrement Operators>
+
+  <\description>
+    <item*|Exercise 2-4>Write an alternate version of <cpp|squeeze(s1,s2)>
+    that deletes each character in <cpp|s1> that matches any character in the
+    <em|string> <cpp|s2>.
+
+    <item*|Exercise 2-5>Write the function <cpp|any(s1,s2)>, which returns
+    the first location in the string <cpp|s1> where any character fromt he
+    string <cpp|s2> occurs, or <cpp|-1> if <cpp|s1> contains no characters
+    from <cpp|s2>. (The standard library function <cpp|strpbrk> does the same
+    job but returns a pointer to the location.)
+  </description>
+
+  <subsection|Sec 2.9: Bitwise Operators>
+
+  <\description>
+    <item*|Exercise 2-6>Write a function <cpp|setbits(x,p,n,y)> that returns
+    <cpp|x> with the <cpp|n> bits that begin at position <cpp|p> set to the
+    rightmost <cpp|n> bits of <cpp|y>, leaving the other bits unchanged.
+
+    <item*|Exercise 2-7>Write a function <cpp|invert(x,p,n)> that returns
+    <cpp|x> with the <cpp|n> bits that begin at position <cpp|p> inverted
+    (i.e. <math|1> changed into <math|0> and vice versa), leaving the others
+    unchanged.
+
+    <item*|Exercise 2-8>Write a function <cpp|rightrot(x,n)> that returns the
+    value of the integer <cpp|x> rotated to the right by <cpp|n> bit
+    positions.
+  </description>
+
+  <subsection|Sec 2.10: Assignment Operators and Expressions>
+
+  <\description>
+    <item*|Exercise 2-9>In a two\<#2019\>s complement number system, <cpp|x
+    &= (x-1)> deletes the rightmost <math|1>-bit in <cpp|x>. Explain why. Use
+    this observation to write a faster version of <cpp|bitcount>.
+  </description>
+
+  <subsection|Sec 2.11: Conditional Expressions>
+
+  <\description>
+    <item*|Exercise 2-10>Rewrite the function <cpp|lower>, which converts
+    upper case letters to lower case, with a conditional expression instead
+    of <cpp|if-else>.
+  </description>
+
+  <subsection|Sec 2.12: Precedence and Order of Evaluation>
+
+  \;
+
+  \;
+</body>
+
+<\initial>
+  <\collection>
+    <associate|page-medium|papyrus>
+  </collection>
+</initial>
+
+<\references>
+  <\collection>
+    <associate|auto-1|<tuple|1|1|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-10|<tuple|1.1.5.3|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-11|<tuple|1.1.5.4|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-12|<tuple|1.1.6|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-13|<tuple|1.1.7|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-14|<tuple|1.1.8|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-15|<tuple|1.1.9|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-16|<tuple|1.1.10|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-17|<tuple|1.2|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-18|<tuple|1.2.1|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-19|<tuple|1.2.2|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-2|<tuple|1.1|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-20|<tuple|1.2.3|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-21|<tuple|1.2.4|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-22|<tuple|1.2.5|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-23|<tuple|1.2.6|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-24|<tuple|1.2.7|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-25|<tuple|1.2.8|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-26|<tuple|1.2.9|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-27|<tuple|1.2.10|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-28|<tuple|1.2.11|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-29|<tuple|1.2.12|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-3|<tuple|1.1.1|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-30|<tuple|1.2.13|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-4|<tuple|1.1.2|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-5|<tuple|1.1.3|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-6|<tuple|1.1.4|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-7|<tuple|1.1.5|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-8|<tuple|1.1.5.1|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+    <associate|auto-9|<tuple|1.1.5.2|?|../../../../.TeXmacs/texts/scratch/no_name_10.tm>>
+  </collection>
+</references>
+
+<\auxiliary>
+  <\collection>
+    <\associate|toc>
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>K&R
+      Exercises> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-1><vspace|0.5fn>
+    </associate>
+  </collection>
+</auxiliary>
\ No newline at end of file
similarity index 100%
rename from src/style-bk.ts
rename to src/tm-notes/style-bk.ts