我尝试结合这个答案将 LaTeX 文档编译为尽可能短的 PNG 图像 我的回答在多列表格中添加列
但是pdflatex -shell-escape table.tex
忽略换行符并且 3 个表格是水平对齐的而不是垂直对齐的。
表格.tex
\documentclass[convert]{standalone}
% \documentclass{article}
\usepackage{booktabs} % for nice lines
\usepackage{siunitx} % nice numbers and units and 'S' in table
\usepackage{multirow} % enable \multirow command
\begin{document}
short answer to your question:\\
\begin{tabular}{|c|c|S|}
\hline
Genre & Name & {Weight}\\\hline
Humain & Aragorn & 102 \\\hline
\multirow{4}{*}{Hobbit}&Frodon & 32.1\\\cline{2-3}
&Sam & 3.2 \\\cline{2-3}
&Peregrin & 2.232\\\cline{2-3}
&Meriadoc & 23 \\\hline
Elfe&Legolas & 34.5 \\\hline
\end{tabular}\\[1cm]
You can also use the power of booktabs and siunitx:\\
\begin{tabular}[ht]{l c S} % alignment l = left, c = centre, S = at decimal - needs siunitx
\toprule
Genre&Name& {Weight}\\ % protect non numbers with {} in S columns
\midrule
Elfe&Legolas & 34.5\\
Dwarf&Peter & 103.31\\
\bottomrule
\end{tabular}\\[1cm]
And combine that with your table:\\
\begin{tabular}{c c S}
\toprule
Genre & Name & {Weight}\\\midrule
Humain & Aragorn & 102 \\\midrule
\multirow{4}{*}{Hobbit}&Frodon & 32.1\\\cline{2-3}
&Sam & 3.2 \\\cline{2-3}
&Peregrin & 2.232\\\cline{2-3}
&Meriadoc & 23 \\\midrule
Elfe&Legolas & 34.5 \\
\bottomrule
\end{tabular}
\end{document}
答案1
默认情况下,该类standalone
不会创建段落。但是,使用varwidth
选项可以创建段落;因此
\documentclass[varwidth,convert]{standalone}
将按照您的需要进行操作,将宽度调整为最长的线。
答案2
有几种可能性:
桌子
\documentclass{standalone}
\begin{document}
\begin{tabular}{@{}l@{}}
line 1\\
line 2
\end{tabular}
\end{document}
评论:
- A在行中
tabular
添加s,这可能会导致较小的白色边缘。\strut
- 类
standalone
仅使用字符边界框,不知道字形外观的边界框。因此,额外的边距对于避免字符被截断是有意义的。 - 可以运行结果
pdfcrop
以去除剩余的白色边缘。
包裹varwidth
varwidth
同名包的环境是minipage
之后水平收缩的一种:
\documentclass{standalone}
\usepackage{varwidth}
\begin{document}
\begin{varwidth}{\linewidth}
line 1
line 2
\end{varwidth}
\end{document}
Class为这个用例standalone
提供了选项varwidth
(感谢 mozartstrasse 的提示)。这简化了示例:
\documentclass[varwidth]{standalone}
\begin{document}
line 1
line 2
\end{document}
角色剪裁
字符字形超出其官方字体边界框的问题无法在 TeX 内部解决,因为 TeX 只知道官方字符边界框,而不知道它们的视觉外观。
例子:
\documentclass[varwidth]{standalone}
\begin{document}
\raggedleft
\itshape
line f
line $\not$
\end{document}
部分f
不可见且\not
已完全消失(极端示例,因为\not
宽度为零,它与以下关系运算符重叠)。
作为解决方法,可以添加更大的边距:
\documentclass[margin=10pt,varwidth]{standalone}
并且结果被裁剪,例如通过pdfcrop
:
答案3
\documentclass[preview,multi]{standalone}
\begin{document}
\preview
line 1
\endpreview
\preview
line 2
\endpreview
\end{document}