使用C#在LaTeX中填充表

时间:2013-08-06 11:48:09

标签: c# latex

尽管不是专家,但我对LaTeX的操作知之甚少。我想开始在LaTeX上写一篇论文。我使用以下方法完成了这项工作。

\documentclass[a4paper]{article}

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}

\title{Written using Latex}
\author{Guddi}

\begin{document}
    \maketitle
\end{document}

但是我现在必须绘制一个填充了大量数据的表,这些数据在我的情况下是C#程序的输出。我可以通过C#运行LaTeX吗?怎么做?在LaTeX中绘制表格是可以的,但是通过C#程序进行表格对我来说是个问题。

1 个答案:

答案 0 :(得分:1)

我在C#中为您编写了一个用LaTeX语法构建表的示例函数:

private string createTable(string[] cols, string[][] values)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine(@"\begin{table}[ht]");
    sb.AppendLine(@"\centering");
    // Assuming four columns.
    sb.AppendLine(@"\begin{tabular}{c c c c}");
    sb.AppendLine(@"\hline\hline");
    // Column headers.
    bool first = true;
    foreach (string col in cols)
    {
        if (!first)
            sb.Append(" & ");
        sb.Append(col);
        first = false;
    }
    sb.AppendLine();
    sb.AppendLine(@"\hline");
    foreach (string[] rowCells in values)
    {
        first = true;
        foreach (string cell in rowCells)
        {
            if (!first)
                sb.Append(" & ");
            sb.Append(cell);
            first = false;
        }
        sb.AppendLine(@" \\");
    }
    sb.AppendLine(@"\hline");
    sb.AppendLine(@"\end{tabular}");
    sb.AppendLine(@"\end{table}");
    return sb.ToString();
}

此代码基于此reference。为方便起见,请更改代码。