目录

Poster

注意事项

  • 不能在数学环境和文件路径以外的地方出现未转义的下划线 _
  • 不能使用 table, figure等浮动体

表格参考格式

\begin{center} \begin{tabular} ... \end{tabular} \end{center}

图片参考格式

\begin{center} \includegraphic[width=.3\linewidth]{...} \includegraphic[width=.3\linewidth]{...}%并排摆放 \end{center}
  • 可以使用\vspace{.3cm}来调整上下间距,使得海报更整齐美观
  • 在复制粘贴代码的时候,注意大括号的配对。

git latexdiff

使用方法

  • 可以在文档所在的目录下使用 git latexdiff HEAD~ --main xxx.tex 来生成当前commit与上一次commit的对比。
    • ~如果后面跟数字N,表示与N次以前的commit对比
    • HEAD~1HEAD~作用相同
  • 更多操作可以参考http://www.deanbodenham.com/learn/git-and-latexdiff.html
  • 生成的文件会保存在%temp%/git-latexdiff.xxx/这个文件夹里,其中xxx是一个随机的数字。

git latexdiff生成的文档不能正常显示gitinfo的问题

  • 方法1:

    • 原理:gitinfo提供了local模式,可以从当前目录读取git信息
    • 将文件/.git/GitHeadInfo.gin复制到tex文件的同一目录下,并改名为GitHeadLocal.gin
    • 在前言区找到\usepackage{gitinfo2}, 改为\usepackage[local]{gitinfo2}
    • commit一次
    • **注意:**这么做会导致需要每次手动复制才能为文档更新git信息。
  • 方法2

    • 将git latexdiff的生成目录指定到仓库里面,这样它就能读到git信息了
    • 在运行git latexdiff时,加上参数--tmpdirprefix ./
    • 拿到diff文档之后记得把生成的目录删掉,不然不小心commit到仓库里就麻烦了
    1. 两种方法均测试通过。

git latexdiff 一直报错

  • 下面是几个可能有效的解决方案:
    • 在运行git latexdiff时加上参数 --pdf-viewer CMD
    • 新建一个仓库,把所有报告文件添加进去并重新commit(当然,为了对比要修改一下然后再commit一次)
    • 重启电脑

slides

注意事项

  • 不支持minipage环境
  • 暂时没有找到插入除eps之外其它格式图片的方法
    • 可以使用命令pdf2ps input.pdf output.eps转换eps
  • 需要使用dvi->ps->pdf这样的顺序生成
    • 具体来说,是latexdvipsps2pdf
    • latexmk也可以,效果相同
    • pdflatex和xelatex都不行

双栏排版可以使用以下格式

\twocolumn[ lfrheight=0.5\slideheight, rfrheight=0.2\slideheight, lineheight=0.5\slideheight, lineprop={linestype=dotted, lfrprop={} rfrprop={} topsep=0.1cm] ] { %colum1% } { %colum2% }
  • 其中
参数 说明
lfrheight=0.5\slideheight 以指定高度创建包裹左栏的框。去掉则不会创建这个框。
rfrheight=0.2\slideheight 创建包裹右栏的框,其它同上
lineheight=0.5\slideheight 创建两栏中间的分隔线
lineprop={linestype=dotted, linewidth=3pt} 控制分隔线格式
lfrprop={} 控制左框格式,具体格式同上
rfrprop={} 控制右框格式,具体格式同上
topsep=0.1cm 上间距
  • 下图展示了\twocolumn的一些参数。
  • 更多控制参数可参考powerdot文档的第6节。
  • 注:\twocolumn内部并不会自动居中对齐。可以使用\centering, \vspace{.3\slideheight}等命令手动居中。
  • 如果只是简单的想把两张图片并排放,可以使用
\begin{center} \includegraphics[width=.4\linewidth]{...} \quad \includegraphics[width=.4\linewidth]{...} \end{center}

GitInfo配置详解

gitinfo是什么

gitinfo是latex的一个宏包。目前我们使用的是它的第二版,叫做 gitinfo2

当latex文件被置于某个git仓库内时,gitinfo可以为latex提供一系列变量,调用它们可以得到上次git提交的提交者用户名、提交时间等信息。

查阅gitinfo的官方文档可以得到详细的资料。

查阅某个tex宏包文档的方法:

在终端中键入命令texdoc <packagename>

比如要查gitinfo2的文档,我们敲texdoc gitinfo2就好了

gitinfo如何工作

那么有聪明的同学可能就要问了,gitinfo是怎么从git数据库抓取信息的呢,它不是latex的宏包吗?

答案是这样的:

  • gitinfo利用了git hook,来在每次git commit时拿到提交信息。

那么git hook又是什么?

  • git hook是git在每次commit(checkout/merge)之前都需要去运行的一个脚本。
  • 编写git hook可以实现很多有趣的功能,比如每次commit之后让机器人在群里发一条消息,或者提交一条特定的commit之后执行删库跑路操作(好孩子不要学)

gitinfo的工作流程:

  1. 通过外置的hook脚本,在每次commit(merge/checkout)时生成~/.git/gitHeadInfo.gin文件
  2. 每次编译latex文件时,在~/.git/目录下检查有无gitHeadInfo.gin,有则读取git信息,无则返回None。

如何配置gitinfo

gitinfo在它的安装文件夹内提供了3个git hook脚本,分别叫

  • post-checkout
  • post-commit
  • post-merge

这个文件夹在类似于C:/texlive/2019/texmf-dist/doc/latex/gitinfo2的地方

把它们放在你仓库目录下的./.git/hooks文件夹内,在下一次commit(merge/checkout)操作时,它们就会生成gitinfo2需要读取的文件gitHeadInfo.gin

之后再去编译latex文件,gitinfo就可以正常显示了。

找不到gitinfo安装文件夹的话,这三个文件在模板仓库中也有提供。

  • 位于templatex-master\templatex\gitinfo\

  • 另外,配置方法在模板仓库的Readme中也有说明。

latex编写环境推荐

  • 推荐使用VSCode编写

  • 工具链的配置可以参考这篇文章:https://zhuanlan.zhihu.com/p/38178015

  • 另外推荐几个vscode上的latex插件,在左边栏插件搜索名字就能搜到:

    • LaTex Utilities
      • 支持直接复制图片、表格到latex里,会自动保存图片并插入模板,以及对表格数据格式化
      • 更多方便的Snippets
      • 预览Tikz
      • 字数统计
    • latex-formatter
      • 格式化tex代码,让心情更舒畅

git工具推荐

  • 同样推荐使用vscode管理git仓库
    • 左下角可以切换分支
    • 左侧边栏第三个按钮进去可以commit, push, sync, merge等各种操作
  • 其它扩展:
    • GitLens:
      • 直接在代码中显示修改记录
      • 查看文件历史、行历史
      • 管理分支等
    • Git Graph
      • 查看分支图
  • 与SmartGit等专业Git客户端的区别:
    • SmartGit功能更完善,并且能同时管理多个仓库,但不如集成在VSCode中的工具方便;
    • 集成在VSCode中的git工具在管理单个仓库时很方便,但管理多个仓库时略显不便。