如何使用LaTeX让自己不乱?

虽然说LaTeX声称排版容易,只关注内容,可是混合着源代码的结构很难让我只关注内容,最后看得眼睛疼,找什么都找不到。

匿名用户

30 人赞同

立即想到的几个建议:

选择有折叠功能 (folding) 的编辑软件,把无关内容隐藏。大项目分多个文件,主文件只管结构,各章节内容及复杂作图分别另立文件,由 input 和 include 导入。

网上下载或问别人借的模版不要直接用。见过手动加粗居中来做章节标题的,见过希腊字母用英文字母 define 的,把 LaTeX 当 Word 用,不乱才怪。

养成良好的换行 (不是分段) 、制表、空格和缩进习惯,像编程一样。长公式不要混在文本中间。随手加标签,标签名有体系可循。编辑时善用搜索功能定位。

编辑于 2013-05-21 4 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

133赞同反对,不会显示你的姓名

Chern

133 人赞同

直接的辦法是應用 TexShop 或 TexWork 之類的編輯器:代碼窗口在屏幕左邊,PDF 預覽器在屏幕右邊。寫作和修改都在 PDF 文檔上查找,再跳回源文件修改,並不容易混亂。

但其實,LaTeX 是用來排版的,不是用來寫作的。
一個解決方案是:除了數學公式,別用 LeTeX 句法寫作,改用 Markdown 或 Markdown 的擴展。

如果不是專業排版師(有這個職業麼?),只想關注內容,儘量少關注格式、宏包、排版,我所知道最合理的方式是使用 pandoc 寫作,然後輸出 PDF(中間也可以轉成 tex 文檔調試)。

Pandoc 的作者是伯克利哲學系的John MacFarlane,這個工具能在數十種格式之間轉換。Pandoc 主頁那個很誇張的圖就展示這種轉換關係。所以,我們可以選擇最簡單的格式來寫作,比如 markdown,然後轉化成我們想要輸出的結果,比如 tex,甚至直接轉成 PDF 文檔或Beamer 文檔。

Pandoc 依然在進化中,就這一年版本更進的思路來看,最終是想讓用戶直接跳過tex這一步,一步轉化成 PDF 文檔。現在短文檔(筆記、作業、講義等)基本可以直接轉化,如果要實現更複雜的功能(比如參考文獻的文檔內跳躍鏈接),轉換成 tex 文檔之後也就是再按個按鈕的工作量。與 Pandoc 相關的生態也發育良好,好些編輯器只需簡單配置,就能馬上上手。

Pandoc 提供了加強版的 markdown 語法,所以要寫帶有圖表、引用、數學公式、參考文獻、目錄的文章時,直接用 pandoc 寫作更方便,而且不用考慮代碼摺疊,不用考慮拆成十幾塊短文檔。

這是一個 pandoc 的 markdown 語法中文翻譯,不妨花幾分鐘閱讀:Pandoc’s Markdown 語法中文翻譯

使用 pandoc,寫作和輸出可以分兩步:

1. 寫作文檔。例如,這是 pandoc 的整個使用說明,用 pandoc 語法寫好:http://johnmacfarlane.net/pandoc/demo/README。可以看到,整個文檔的格式非常簡單,我們直接關注內容。

2. 輸出文檔。在終端輸入相應的轉化命令,得到上面那個文檔的pdf版本:http://johnmacfarlane.net/pandoc/demo/example14.pdf。可以看到,外部超鏈接、內部鏈接、目錄、代碼塊格式、頁眉、腳註、版本號、表格等等一應俱全。

評論中 @张苏 問到編輯器,我之前用Sublime Text 2。但從2014年6月21日開始,我改用 RStudio 作爲編輯器。最新版 RStudio 引入 R Markdown V2,免去在終端輸入 Pandoc 命令。其實,由於終端可以記住之前執行的命令,每次轉換文檔並不繁瑣,只需調出上次的命令,但 R Markdown V2 把“調出終端+回車鍵”兩個步驟簡化爲一個步驟,並簡化了 HTML 和 PDF 輸出的一些設定,還是提高了效率。

簡而言之,現在我們可在 RStudio 編輯器中用 Pandoc 寫作文檔,按一個轉化鍵,輸出 HTML、PDF 或 Word 文檔,並保證豐富的文檔元素:腳註、超鏈接、引用、目錄等。RStudio 的缺點是 PDF 預覽器還不太好用,希望之後的版本能有改進。

初次使用 RStudio 寫作可按以下步驟:

1. 保證電腦上裝有 Tex 套件。Mac 用戶可在MacTeX - TeX Users Group下載一整個 
MacTex 套裝(大約2G多)。(Pandoc 作者 John Macfarlane 本來建議安裝 BasicTex(64M),在需要各類 package 時,在終端用`tlmgr`命令下載。不建議這種做法,因爲 BasicTex 實在太簡單,總需要自行安裝許多packages,同時 tlmgr 命令也不是時時都可用的:每當TeX發行版升級時,舊版本會被凍結,tlmgr 命令也沒辦法下載新的 package。)

2. 保證電腦裝有R 3.0以上版本。下載地址:The Comprehensive R Archive Network(小於100M)。

3. 下載安裝最新的 RStudio,地址:Download RStudio

4. 打開 RStudio,點擊 File--〉New File--〉R Markdown,會彈出一個簡單的 R Markdown 文檔,再按 Knit PDF 就可以經由 TeX 引擎生成相應的 PDF 了。(中文用戶在執行 RStudio 自帶的 R Markdown 文檔時,日期date那行可能會顯示中文,例如“2014年6月21日”,整行刪掉或改成英文日期,就可以順利執行了。)

===

如果熟悉LaTeX語法,可以很快上手。下載pandoc,在Github上找一份LaTeX模板,修改一下,開始用pandoc寫作就可以了。我現在寫筆記、上課的幻燈片、作業、作業答案都是用pandoc寫後輸出pdf文檔,熟練後比用LaTeX寫快許多。

中文世界裏有兩份對pandoc較好的介紹:

1. Markdown写作进阶:Pandoc入门浅谈 ← 阳志平的个人网站::技术
2. 黑魔法利器pandoc

對初學者,兩個歷史學家給出了文科生使用 pandoc 寫作文檔的指南:

1. Sustainable Authorship in Plain Text using Pandoc and Markdown

编辑于 2016-05-12 11 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

2赞同反对,不会显示你的姓名

组诗耶 ,我们躲避村庄/也躲避贫穷/躲避病痛/躲避…

2 人赞同

使用文档结构树
使用include
多用注释
推荐 TeXpen http://sf.net/p/texpen

发布于 2014-10-28 1 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

19赞同反对,不会显示你的姓名

李震 ,计算机科学在读博士

19 人赞同

说说我的建议:

0. 选一个用得顺手的编辑器。语法高亮和代码块折叠应该是两个必备功能。
1. 按章节划分文件,在主文件中引入。这样做的好处有: a) 结构清晰。b) 使用svn做版本控制,多人同时编辑的时候可以避免conflict. c) 更换模板时保持不同版本时只需维护一份正文内容。
2. 需要做特殊处理的地方,尽量不把复杂命令串写在正文中,而是定义成 newcommand. 这样源代码更易读,特别是在表格中包含这些自定义命令的时候。
3. 每个section和subsection都应该有一行注释,说明此处要说的是什么。个人习惯每个(sub)section都是label+注释。
4. 在给段落、表格、图片加标签以便引用的时候,应该有自己统一的风格以便自己区分。个人的习惯是加前缀sec:, tab:, fig:.
5. 在有别人参与修改的时候,应该自定义一些 todo, add, delete, mark等命令。同时应该为这些命令设置一个或几个trigger. 比如设置一个final_print,当这个trigger为true的时候,所有标为delete的段落不会显示,方便迅速预览改动效果。
6. 写作初期不要为浮动元素添加太多的位置限制。这些可以最后微调。
7. 多添加注释,特别是对于不常用的宏包和自定义的命令。
8. 不要乱用硬性的命令,比如vspace. 因为很有可能当你做了一些改动以后,某处距离就不是你上次看到的那样。个人建议只在内容已经完全确定,最后排版微调阶段使用这些距离控制命令。

编辑于 2013-09-16 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

0赞同反对,不会显示你的姓名

孟繁一 ,但求实用,只知皮毛。

我的做法是将不同部分分成独立文档,在主文档里\include{}进来。

发布于 2013-05-21 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

34赞同反对,不会显示你的姓名

邓博元

34 人赞同

一些个人建议:

  1. 选取好的发行版并使用 IDE,比如 TeX Live + TeXstudio,勤更新。文本编辑器能给的支持太少了,根本不能应付大型文档。TeXstudio 这种 IDE 有代码折叠,语法句法(不只是拼写)检查、inline 预览、代码和PDF间跳转等重要功能。
  2. 下决心用 LaTeX 了,就不要再使用 LyX、Pandoc 啥的了。那些都是隔靴搔痒,和你用 LaTeX 的初衷相违背,排版强迫症发作起来无药可救。
  3. 处理中文,请使用 XeLaTeX 引擎和 xeCJK 包,不要碰 CTeX 及古老的 CJK 方案。
  4. 善于用 \include 切分文档。
  5. 功能相近的包,选取未停止维护、与引擎兼容且最广受好评的;功能非常丰富的包,如绘图包等,学习最先进的。
  6. 把 amsmath 包的官方文档啃几遍,有问题上 stackexchange 的 TeX 版找方案。能排公式和排对公式之间的区别是很大的。比如函数该用内置的带\的版本(\cos vs cos),绝对值符号究竟是哪个,\dfrac 和 \tfrac 的区别等等,有的出版社都不知道。
  7. 学会换行和缩进,\usepackage 可以以字典序排列;包内设置,缩进后字典序排列。例如:

    \documentclass[a4paper]{article}
    
    \usepackage{amsmath}
    \usepackage{fontspec}
        \setmainfont{Times New Roman}
        \setsansfont{Arial}
    ...
    \usepackage{tikz}
        \usetikzlibrary{arrows}
    \usepackage[indentfirst]{xeCJK}
        \setCJKmainfont[BoldFont={SimHei}]{SimSun}
        \setCJKsansfont{KaiTi}
    
    \begin{document}
    ...
    \end{document}
    
  8. 遵循最小手动配置原则,尽量不自行定义命令、变量等。杜绝手动几何调整。
  9. 多看文档(texdoc 调用)和TeX - LaTeX Stack Exchange

包推荐:

  • biber 代替 bibtex
  • polyglossia 代替 babel
  • xindy 代替 makeindex
  • 画图用 TikZ + Asymptote 分工,代替 MetaPost、PSTricks 和 xfig等等其他所有绘图包。

其他的推荐想到后会添加到这里。

编辑于 2014-08-17 4 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

15赞同反对,不会显示你的姓名

墨磊 ,不折腾会死星人 // http://github.com/morlay

15 人赞同

GK下载_电子书_pdf_图片
DQDG下载_电子书_pdf_图片

蛋疼的时候弄过的两本书,
用 XeTeX 生成 ……
其中某个的入口文件

% 讲导言区内容移动到不同的文件中
% 样式相关
\input{Styles/Default}
% 调用常用功能的支持
\input{Functions/Bases}					% 基本
\input{Functions/Fonts}					% 字体
\input{Functions/Graphs}				% 插图与表格
\input{Functions/Draws}				% 图形绘制
\input{Functions/Notes}				% 参考文献,注释相关
\input{Functions/Maths}				% 数学公式
\input{Functions/Codes}				% 插入代码

% \includeonly{Contents/2_Chap_08}    % 单一章节生成和排版调试

\begin{document}

	% 封面
		\include{Contents/0_Cover}
	% 前言(摘要)、目录
		\include{Contents/1_Intro}
	% 各章节
		\include{Contents/2_Chap_01}
		\include{Contents/2_Chap_02}
		\include{Contents/2_Chap_03}
		\include{Contents/2_Chap_04}
		\include{Contents/2_Chap_05}
		\include{Contents/2_Chap_06}
		\include{Contents/2_Chap_07}
		\include{Contents/2_Chap_08}
		\include{Contents/2_Chap_09}
		\include{Contents/2_Chap_10}
		\include{Contents/2_Chap_11}
		\include{Contents/2_Chap_12}
		\include{Contents/2_Chap_13}
		\include{Contents/2_Chap_14}
		\include{Contents/2_Chap_15}
		\include{Contents/2_Chap_16}
		\include{Contents/2_Chap_17}
	% 附录

		\begin{appendices}

			\input{Styles/Appendix}

			\include{Contents/3_End_A}
			\include{Contents/3_End_B}
			\include{Contents/3_End_C}
			\include{Contents/3_End_D}
			\include{Contents/3_End_E}
		\end{appendices}

\end{document}

文档结构

总之就是把 内容和样式设置 分离就好。

编辑于 2013-05-22 1 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

1赞同反对,不会显示你的姓名

嘉嘉 ,struggling 暂时告别一下知乎

1 人赞同

好多年不用office,基本写东西全部用latex。关于看着乱的问题,其实看习惯就好了,我和老板,朋友们的邮件里要讨论数学问题基本就是latex格式,$$也容易提示这是数学符号了。

编译器一般用kile或者texmaker,都是免费的,而且也有一些简单的折叠和显示文章结构的功能。

发布于 2013-10-25 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

1赞同反对,不会显示你的姓名

赵勤 ,从事计算机理论研究,原同济足协裁判,爱…

1 人赞同

我用Vim来编辑LaTeX,插件自带折叠功能,可以很容易地看清楚文章结构。
也曾经用过类似于TeXworks之类的编辑器,似乎这类编辑器都带有文档结构表,应该也能很容易地看清文章架构。

如果文章较长、组织结构较复杂的话,可以考虑分成多个子文件来撰写。

或许也可以尝试下用所见即所得的编辑器如LyX来写tex文档,不过我个人不太喜欢这种方式。

发布于 2013-05-21 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

5赞同反对,不会显示你的姓名

Wei Li ,Software/Compiler/EDA Engineer

5 人赞同

说一下我的方案吧,我用的是Ubuntu

笔记/Blog都是用vim+vimwiki写的markdown格式(感谢vimwiki新近支持markdown格式), Blog的话在vim里用wordpress插件直接发布,markdown里几乎可以随意内嵌latex语法,wordpress有很多插件可以支持。笔记的话通过pandoc把markdown转成latex, 再用pdflatex转成pdf。

我觉得关键是结合markdown简洁直白的优势在必要的时候能够嵌入latex复杂丰富的功能

编辑于 2013-09-16 1 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

1赞同反对,不会显示你的姓名

jason li

1 人赞同

如果你熟悉emacs,则简单的办法是用emacs+org(emacs的扩展包)编辑文档,然后再输出为latex格式,这样就不用记latex的命令了。

发布于 2014-05-15 1 条评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

1赞同反对,不会显示你的姓名

邵华明 ,博士生

1 人赞同

先得选好模板,latex的优势就在于,自动排版,有个模板定义,你就不用在格式费心了,重点放在内容上。

发布于 2015-02-12 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

0赞同反对,不会显示你的姓名

玟清 ,半路学术,半路学数

习惯问题。看得多了,代码中也能看出公式来。
还是习惯问题。严格按照某种固定格式,该缩进就缩进,该高亮就高亮。严格限制屏幕中需要处理的信息量,该分章节就分章节。这样,自然就显得整洁,自然有条理。人的瞬时记忆是有限的,对于固定模式更高效,一次处理少量的数据也更快一些。

如果你不是必须用latex,换工具。如果你只是投稿,可以先把文字编辑好,再来用latex整理。

如果你坚持使用latex,就像整理书桌一样整理自己的文字。按照自己的想法去做想做的事,不要被工具所左右。当然,驾驭一个工具,必然有一定的学习曲线,但一旦学成,它就成了你的习惯。

另外,平时写文档,我也推荐pandoc和markdown,既可发布pdf,也可发布网页。现在一些论坛和博客系统(如jekyll)都是支持markdown的。我自己就是用markdown记笔记,然后发到用github建的jekyll博客上。

发布于 2014-02-25 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

0赞同反对,不会显示你的姓名

philo ,I‘m philo

Texlive + TexStudio 能很好的解决你的问题.
刚开始我也很乱.但是后来,写多了就好了.

发布于 2013-12-22 添加评论 感谢

分享

收藏 • 没有帮助 • 举报 • 作者保留权利

0赞同反对,不会显示你的姓名

Joseph Shen ,不是港澳同胞,别他妈的用繁体

1. 使用 include
2. 写注释
3. 理清自己的思路

from: https://www.zhihu.com/question/21088362

时间: 2024-10-27 23:42:06

如何使用LaTeX让自己不乱?的相关文章

LaTeX 相对于 Word 有什么优势?

sjhstone ,本科EE在读 vczh等 276 人赞同 [Word公式进阶请往下翻]有人还写过论文,参见PLOS ONE: An Efficiency Comparison of Document Preparation Systems Used in Academic Research and Development在我看来,最大的优点在于 数学公式的自动编号和交叉引用 文件干净,随手记事本或者Vim或者nano都能编辑,不像Word的docx解压以后一堆人眼无法阅读的xml文档 因为文

教你如何在word中像LaTex那样打出漂亮的数学公式

转载自: http://blog.csdn.net/ibingow/article/details/8613556 记得很久以前在word里打数学公式很痛苦,要用鼠标点啊点,效率奇低,包括像MathType那些工具.后来到了office 2007公式情况就不一样了,编辑器有了巨大的改进,适合我们喜欢用键盘的同学了.几乎所有的数学符号都对应一条命令,而且跟LaTex的命令很像,打起公式来一样.其实最开始我是乱按键盘发现公式编辑器这些功能的,然后凭感觉和经验发现了各种符号的输入方法.相比LaTex,

最近在 OS-10.9下配置opencv, cgal, latex, qt, pillow

其实我之前使用的Mac os的版本是10.8的雪豹,可是最近想体验一下Mac os10.9新版本,于是就开始更新Mac os,经过10多个小时的下载和成功安装后,发现之前的配置全乱了,首先是发现latex的pdflatex找不到文件,之后又打开eclipse写python发现PIL(python的一个图像处理库,matplotlib需要安装PIL让其能够对各种格式的图片进行操作)不能用了,之后再打开qt creator写cgal,打开xcode写opencv结果都编译失败(记得错误的信息是:dy

LaTeXila:Linux 的多语言 LaTeX 编辑器简介

LaTeXila 是一个多语言 LaTeX 编辑器,专为那些偏爱 GTK+ 外观的 Linux 用户设计.这个软件除了操作简单.功能强大之外,定制性也很高,所以我非常建议对LaTeX感兴趣的朋友去尝试一下. 在这篇文章中,我会着重于展示LaTeXila的使用及其主要功能,不过这里我们首先解决一个问题,为什么使用LaTeX而不是别的. 为何选择使用 LaTeX? 提到创建文档,很多人习惯于使用LibreOffice 或者 Abiword这种"常规"工具. 但是与其相对的是,LaTeX编辑

latex三种标准文类book, report, article的章节命令与层次深度

Latex有三种标准文类:book, report, article. 每种文类的章节命令和层次深度如下: 三种标准文类的章节命令与层次深度 层次深度 层次名 book report article -1 part \part \part   0 chapter \chapter \chapter \part 1 section \section \section \section 2 subsection \subsection \subsection \subsection 3 subsub

定制WinEdt 优化Latex输入

前一个礼拜忙着准备讨论班的演示稿,顺带还有单位的一门考试的试题需要排版整理,所以微博更新的速度又被拖后了.说实话,Latex这种"所想即所得"的排版系统对人的确是一种折磨,它并不适合快速的文档编辑,倒是适合我们这种具有强烈强迫症倾向的人用来欣赏.所谓"慢工出细活",用Latex编辑文稿.书籍排版是集腋成裘的勾当,有许多东西是在这种折磨的过程中慢慢积累出来的.我在几年的考试命题出题过程中,从最开始的Word+Mathtype逐渐过渡到Word+Aurora,最后还是

天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能

Java本身是一种设计的很easy,很静止的语言,所以Java背后的原理也很easy,归结起来就是两点: 1.JVM的内存管理 理解了这一点,全部和对象相关的问题统统都能解决 2.JVM Class Loader 理解了这一点,全部和Java相关的配置问题,包含各种App Server的配置,应用的公布问题统统都能解决 就像张无忌学太极剑,本质就是一圈一圈的画圆,你要是懂得了太极剑的本质,那么太极剑就那么一招而已,本身是非常easy学的,仅仅是难度在于你要可以举一反三,化一式剑意为无穷无尽的剑招

[android]完美解决ListView加载网络图片乱跳问题

为什么 先说一下为什么会出现图片乱跳. 使用convertView对ListView的每个item优化,item的复用可以有效降低内存的占用,使ListView滑动更为流畅.但会带来一个问题,当最顶部的item滑出屏幕时,会变成下一个从底部将要滑进来的item.每次滑进来的item都要去请求网络获得图片. 第一个item滑出去时,是带着图片的.其ImageView指向了一块内存.当其慢慢滑出,从底部慢慢滑进时,底部的item与顶部(只有一半在屏幕里能看到了)的还是指向 同一块内存.加载的了同一张

latex插图续

LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件. UNIX下的各种应用软件都可以把其结果输出为ps格式, 大部分软件也可以输出eps格式. 若软件只能输出ps格式而不能输出eps格式的结果, 则可用ps2epsi命令将其转化为eps格式, 可参考man ps2epsi的说明. 若图片文件的格式是位图图形文件则可用Image Magick软件包的display 和conver