1. Latex 表格单元格内换行
问题:如何同时让表格同一行一个单元格的文字能垂直居中?比如说文字超长超出页面范围需要分行显示
答:(来源于smth)
方案一:
/newcommand{/tabincell}[2]{/begin{tabular}{@{}#1@{}}#2/end{tabular}}%放在导言区
%然后使用&/tabincell{c}{}&就可以在表格中自动换行
%然后使用&/tabincell{c}{}&就可以在表格中自动换行
%比如这么用
/begin{tabular}{|c|c|}
/hline
1 & the first line //
/hline
2 & /tabincell{c}{haha// heihei//zeze} //
/hline
/end{tabular}
/begin{tabular}{|c|c|}
/hline
1 & the first line //
/hline
2 & /tabincell{c}{haha// heihei//zeze} //
/hline
/end{tabular}
方案二:
/usepackage{longtable}
/usepackage{longtable}
2. 用listings宏包插入C程序源代码时自动换行
listings 是专用于代码排版的 LaTeX 宏包,可对关键词、注释和字符串等使用不同的字体和颜色或颜色,也可以为代码添加边框、背景等风格。
listings 宏包支持大约近百种计算机语言,下面只列举几个常用的:
- C :ANSI, Handel, Objective, Sharp
- C++ :ANSI, GNU, ISO, Visual
- Delphi
- Java :empty, AspectJ
- TeX :AlLaTeX, common, LaTeX, plain, primitive
- XML
- Gnuplot
- HTML
- Python
- Ruby
- make :empty, gnu
用法:
/usepackage{listings}
/lstset{language=C++}%这条命令可以让LaTeX排版时将C++键字突出显示
/lstset{breaklines}%这条命令可以让LaTeX自动将长的代码行换行排版
/lstset{extendedchars=false}%这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题
1. 直接把代码写入TEX文本中,用/begin{lstlisting}
%源代码
/end{lstlsting}
编译后如图:
2. 调用并嵌入源文件(可最大限度避免编译错误)
/lstinputlisting{filename.c}
当然listings包也可以处理HTML代码, 方法如上。
3. 另外,typehtml是专门用于引用HTML代码的包
用法为:
/usepackage{typehtml}
/dohtml
%html文本
3. 下划线问题
由于字体原因,有些下划线可能显示的很短,效果不好。
以下两条命令比较好用:
/textit{t}/_/textit{abcd}
$t/_abcd$
$t/_abcd$
参考