对于许多编程语言,你都有机会通过做题或开发可以完成某些任务的程序来练习语言。但是对于 LaTeX,你无法做到这一点,因为它是一种排版语言,因此需要某种材料来练习。我知道有软件包,lipsum
但是人们可以做什么来练习他们的 LaTeX 技能而不需要材料呢?例如,练习构建各种表格,练习做复杂的数学等式等。
答案1
正如一些人所说,唯一的方法是用 LaTeX 编写和排版文档。计算前 30 个素数可能会让您成为更好的程序员,但它是否能让您成为更好的 LaTeX 用户则值得怀疑,因为解决 LaTeX 不是正确解决方案的问题的实用性值得怀疑。如果您不确定要写什么:
- 如果有的话,用 LaTeX 完成你的家庭作业。
- 使用 LaTeX 而不是纸来做笔记和草稿。你会很快学会这些,并开始想到对你特别有用的宏。
- 这种方法的延伸是,写一份关于你正在学习的 LaTeX 内容的指南。这是一项很好的学习纪律,因为如果你必须向想象中的读者解释,你将检查你理解的深度。把它发布到网上,你也可能会得到反馈。
- 不要像一个答案建议的那样重新创建课程作业,而是做一些更有用的事情。找到 LaTeX 时代之前的论文并转录它们。这使得它们比纸质或位图扫描格式更容易访问(更容易访问和共享,更容易注释/修复拼写错误)。1900 年之前的任何作品以及 20 世纪早期的相当一部分作品都应该不受版权保护(但如果您想分享您的作品并关心合法性,请检查)并且可以在线共享。其中包含许多可能值得一读的黄金时代数学。
- 如果你懂(尤其是)法语、德语或俄语,你也可以将旧论文翻译成英语。如果不懂,你可以将经典翻译成你自己的语言。把它们发布到可搜索的地方,它必然会对某人有用。
- 使用 LaTeX 或 TeX 撰写任何主题的书籍或文章。即使没有数学公式,也可能需要解决数百个排版问题。
- 编写一个工具,从各种形式的数据自动生成 LaTeX 文档。例如“将您的 WordPress 博客变成一本书”、“将 Excel 表格添加到您的 LaTeX 文档”。如果有用且完善,您可以将其制作成一个包。即使不是,您也会学到很多有关文档结构和边缘情况的知识。
- 不那么硬核:把你的博客(或者别人的博客,或者你最喜欢的五十个 StackExchange 问题和答案,或者古腾堡计划书籍,或者任何源文档)手动转换成一本书,通过复制粘贴和转换所有条目,然后自己创建目录、简介和附录。
- 学习文学编程,并结合该算法,用您最喜欢的语言计算前 30 个素数,并在 LaTeX 中解释其工作原理。或者,无论您正在进行什么编程项目,都可以进行文学编程。这是编写编程教程的好方法。
答案2
我个人发现,在我了解了基础知识之后,使用使用 LaTeX 来撰写作业和论文,然后使用它来创建演示文稿,然后是我的简历,...
作为一名程序员,我天生的好奇心(以及拖延的倾向)促使我尝试为最常用的东西创建快捷方式。这促使我阅读软件包文档。其他人已经创建了软件包来做我想要做的事情。CTAN 包含大量有趣的东西,通常都有很好的文档。
最终,我感觉到了什么是可能的。当我需要的软件包不存在时,我就自己编写一个。这一切都在几年内自然而然地发生了。
当然,这个网站一直都有很棒的社区来回答我的问题。此外,我最终读了 Knuth 的 TeXbook。他是一位出色的作家。
简而言之:边做边学。这不是原创,但你已经学会了。
答案3
我试图克制自己不发表答案,但是我还是发表了。
当我读到问题的标题“如何练习 LaTeX?”时,我的脑海里浮现出一个词:Pokémon。我知道这听起来可能很奇怪,但我会尝试解释这个原因。
我小时候玩过《精灵宝可梦》。虽然它并不是我最喜欢的游戏,但游戏机制相当有趣。有一句训练师的话勾起了我的回忆,大概是这样的:
你也是训练师吧?一起练习吧!
等一下,你不练习战斗。这是游戏的基本基础。我认为这同样适用于 LaTeX:
你不练习 LaTeX。你确实乳胶。
使用 LaTeX 就像玩口袋妖怪一样——我们需要从“战斗”中获得经验,也就是我们可以利用技能解决问题。:)
当然,我们的旅程总是从一只初始宝可梦开始:
使用 LaTeX 处理文档:这里指的是草系宝可梦妙蛙种子。这个“入门”非常适合初学者。当我们学习了 LaTeX 的基础知识后,我们可以在眨眼间创建漂亮的文档!在这个阶段不需要任何技巧,一切都“正常运作”。我们将能够简单地使用我们的 LaTeX 知识来解决大多数任务。我们有很多资源,比如 Frank 的LaTeX 伴侣,斯蒂芬的LaTeX 初学者指南和马克的LaTeX 和朋友.我们来看一个例子:
\documentclass{article} \begin{document} Hello world! \end{document}
我们有了第一个文档,耶!我们还能用它做什么?让我们添加更多包,享受更多乐趣!如有疑问,让我们浏览一下文档, 是我们的PokéDeX。
使用 LaTeX 自动执行任务:现在,我们可能会选择一个更具挑战性的伙伴,参考水系神奇宝贝,称为杰尼龟。在这个阶段,我们不仅可以使用 LaTeX 制作漂亮的文档,还可以自动执行一些任务?打印一个句子 10 次,检查我们是否在奇数页,甚至绘制我们自己的数据!
\documentclass{article} \usepackage{ifthen,changepage} \usepackage{pgfplots} \begin{document} \foreach \i in {1,...,10} { I like ducks (\i)\par } \bigskip \checkoddpage We are in an \ifthenelse{\boolean{oddpage}}{odd}{even} page! \bigskip \begin{tikzpicture} \begin{axis}[ xlabel=$x$, ylabel={$f(x) = x^2 - x +4$} ] \addplot {x^2 - x +4}; \end{axis} \end{tikzpicture} \end{document}
我们得到了结果:
很酷,不是吗?
:)
使用 LaTeX 作为编程语言:最后一个启动器,作为其对应物小火龙,是新手最难使用的宝可梦。并不是因为它很难本身,但它可能需要一些我们目前还不熟悉的技能。耐心是一种美德,我们可以在以后看到这种选择的好处,那时我们将能够解决复杂的问题。感谢 LaTeX3 团队的巨大努力,我们现在有了令人惊叹的东西,
expl3
它帮助我们释放内心的雄狮的力量。引用布鲁诺今天在聊天室里留言:刚刚实施使用 LaTeX3 的 Forth 子集解释器这个周末
:-)
。最终,我希望也能实现 PostScript。值得努力去学习它。
:)
我想说,如果我们的团队中有这三只初始宝可梦,那对我们所有人来说都是很棒的。当然,这只是个人喜好问题,取决于每个人如何看待 LaTeX。:)
在游戏中,我们的宝可梦会随着时间、一场又一场的战斗而进化。在 LaTeX 中,我们只会随着时间的推移、一次又一次的尝试编写出更好的代码。
当然,我们希望有一天能达到 TeXperts 的地位,拥有自己的超梦's,就像 egreg 和 David 一样。:)
答案4
这个问题问得好,至少有两条路。
LaTeX,尤其是 TeX,作为编程语言。然后您可以尝试找到前 30 个素数(然后将您的解决方案与 Knuth 的版本进行比较),尝试制作一个日历,其中计算复活节,等等。
LaTeX 是一种排版工具。在这种情况下,您需要一个好的来源,例如写得很好的数学书。尝试从一些选定的页面中注意到并编码所有细微之处是一项很好的挑战。在这种情况下,您需要一个可以验证您工作的专家。当您的工作与来源具有相同的结构时,循环结束。