Latex 结构化写作

对于规模比较大的文档项目,要用结构化方法写作

首先样式要与内容分离,将 LaTeX 的导言部分写在一个文件里,例如 style.tex

  1. %\documentclass[11pt,a4paper,twoside]{article}
  2. \documentclass[11pt,a4paper,twoside]{book}
  3. %加入了一些针对XeTeX的改进并且加入了 \XeTeX 命令来输入漂亮的XeTeX logo
  4. \usepackage{xltxtra}
  5. %启用一些LaTeX中的功能
  6. \usepackage{xunicode}
  7. %%%% fontspec 宏包 %%%%
  8. \usepackage{fontspec}
  9. % 指定字体
  10. \setmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std}
  11. \setsansfont[BoldFont=Adobe Heiti Std]{Adobe Kaiti Std}
  12. %\setmonofont{Bitstream Vera Sans Mono}
  13. %%%% 版面 %%%%
  14. \usepackage[top=1in,bottom=1in,left=1.25in,right=1in]{geometry}
  15. % 设置行距
  16. \linespread{1.3}
  17. %%%% 缩进 %%%%
  18. % 自动首行缩进
  19. \usepackage{indentfirst}
  20. % 设置首行缩进的距离
  21. \setlength{\parindent}{2.22em}
  22. %连字符
  23. \defaultfontfeatures{Mapping=tex-text}
  24. %中文断行
  25. \XeTeXlinebreaklocale "zh"
  26. \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
  27. %%%% color %%%%
  28. \usepackage{color}
  29. \definecolor{gray}{rgb}{0.9,0.9,0.9}
  30. \definecolor{blue}{rgb}{0,0,1}
  31. %%%% 章节标题 %%%%
  32. \usepackage[center,pagestyles]{titlesec}
  33. \titleformat{\section}{\centering\Large\bfseries}{\thesection}{1em}{}
  34. \titleformat{\subsection}{\large\bfseries}{\thesubsection}{1em}{}
  35. \newpagestyle{main}{
  36. \sethead{\small\thesection\quad\sectiontitle}{}{$\cdot$~\thepage~$\cdot$}
  37. \setfoot{}{}{}\headrule}
  38. \pagestyle{main}
  39. %%%% 目录样式 %%%%
  40. \usepackage{titletoc}
  41. \titlecontents{chapter}
  42. [0.0em]
  43. {} %\song
  44. {\thecontentslabel\hspace{1em}}
  45. {}
  46. {\normalfont\dotfill\textrm{\contentspage[{\bfseries\thecontentspage}]}}
  47. \titlecontents{section}
  48. [0.0em]
  49. {} %\song
  50. {\thecontentslabel\hspace{1em}}
  51. {}
  52. {\normalfont\dotfill\textrm{\contentspage[{\bfseries\thecontentspage}]}}
  53. %%%% hyperref %%%%
  54. \usepackage[
  55. pdfstartview=FitH, CJKbookmarks=true, bookmarksnumbered=true,
  56. bookmarksopen=true,
  57. linkcolor=true, %注释掉此项则交叉引用为彩色边框(将colorlinkspdfborder同时注释掉)
  58. colorlinks=blue,
  59. pdfborder=001, %注释掉此项则交叉引用为彩色边框
  60. citecolor=blue ]{hyperref}
  61. \usepackage{listings}
  62. \lstset{
  63. numbers=none,
  64. numberstyle=\scriptsize,
  65. frame=single,framerule=0.1pt,
  66. backgroundcolor=\color{gray},
  67. fontadjust=false,
  68. flexiblecolumns=true,
  69. language=[LaTeX]TeX,
  70. basicstyle=\ttfamily\small,
  71. commentstyle=\color{orange},
  72. keywordstyle=\color{blue}
  73. escapebegin=\begin{esc},escapeend=\end{esc},texcl=true
  74. }
  75. \graphicspath{{img/}}
  76. %其它
  77. %\usepackage[marginal,perpage,symbol]{footmisc}

将所有会用的到词汇在一个文件中定义,例如 glossary.tex

  1. \def\xxx{The five boxing wizards jump quickly.\\}
  • 使用命令 \xxx 插入定义的词汇

使用 \input 命令将这两个文件插入到主文档中:

  1. %插入样式定义文件的内容
  2. \input{style}
  3. %插入词汇定义文件的内容
  4. \input{glossary}
  5.  
  6. %正文内容
  7. \begin{document}
  8.  
  9. %将前言放到 info.tex 文件中
  10. %使用 \include 命令载入
  11. \include{info}
  12.  
  13. %插入目录
  14. \tableofcontents
  15.  
  16. %将每章的内容放在单独的文件中 (1st.tex)
  17. %使用 \include 命令载入
  18. % 1st.tex 文件中应包含 \chapter 等命令
  19. \include{1st}
  20. % \include 命令会在新的一页上排版载入的文本
  21. %如果不想分页,可以使用 \input 命令,它只是简单的载入文本 (2nd.tex)
  22. \input{2nd}
  23. \end{document}