R+Latex 实现动态统计报告

本主是个懒人,讨厌日报、周报、月报这类重复性的工作。

目前碰到的就是每月一次的调价效果分析报告,于是乎要把它们变成自动化报表,问题来了,怎么整?

前两篇文章是铺垫,主要介绍技术,本文是应用,把R+latex的技术应用到动态统计报告的工作中。

step1:对latex要有基本语法要有了解:

排版语法:

\documentclass{article} 
  \title{Hello World} 
\begin{document} 
  \maketitle 
  \section{Hello China} China is in East Asia. 
    \subsection{Hello Beijing} Beijing is the capital of China. 
      \subsubsection{Hello Dongcheng District} 
        \paragraph{Tian'anmen Square}is in the center of Beijing 
          \subparagraph{Chairman Mao} is in the center of Tian'anmen Square 
      \subsection{Hello Guangzhou} 
        \paragraph{Sun Yat-sen University} is the best university in Guangzhou. 
\end{document}

字体调整:http://blog.sina.com.cn/s/blog_5caa94a0010106ut.html

段落格式缩进等:求万能的百度

替换函数:\Sexpr{}   如:\Sexpr{ff_cash_change}

step2:配置好中文环境,如何配置参见http://blog.csdn.net/u011454283/article/details/50465162

step3:清楚R与latex如何实现交互,参见http://blog.csdn.net/u011454283/article/details/50457853

建立sweave 文件(.snw)

注意都调为GBK格式

\documentclass[10pt,a4paper]{article} 
\usepackage{verbatim}
\usepackage{CJK} 
\input zhwinfonts
\begin{CJK*}{GBK}{song} 
\title{11月调价效果分析}
\author{Siyuan Mao} 
\usepackage{Sweave} 
\SweaveOpts{pdf=TRUE, eps=FALSE} 

\begin{document} 
\maketitle 
<<echo=false, results=hide>>=
library(ggplot2)
library(gcookbook)
library(lubridate)
library(gridExtra)
library(graphics)
library(knitr)
setwd("C:\\Users\\msy\\Documents\\work\\调价效果review")
category<-read.csv("category.csv")
#head(category)head(gezi)
setwd("C:\\Users\\msy\\Documents\\work\\调价效果review\\2015-11")
gezi<-read.csv("调价格子.csv")
gezi
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
明白了你的需求,以下是根据你的要求进行修改的代码: ```html <!DOCTYPE html> <html> <head> <title>MathJax Example</title> <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> <style> .mathjax-formula { font-size: 2.8em; background-color: green; position: absolute; left: 0; top: 0; cursor: move; padding: 5px; border-radius: 5px; color: white; } </style> </head> <body> <div id="mathjax-formulas-container"></div> <script> var formulas = []; var selectedFormula = null; var offsetX = 0; var offsetY = 0; document.addEventListener("mousedown", function(event) { var target = event.target; if (target.classList.contains("mathjax-formula")) { selectedFormula = target; offsetX = event.clientX - selectedFormula.offsetLeft; offsetY = event.clientY - selectedFormula.offsetTop; } }); document.addEventListener("mousemove", function(event) { if (selectedFormula) { var xDiff = event.clientX - selectedFormula.offsetLeft - offsetX; var yDiff = event.clientY - selectedFormula.offsetTop - offsetY; if (xDiff >= 0 && xDiff <= selectedFormula.offsetWidth && yDiff >= 0 && yDiff <= selectedFormula.offsetHeight) { selectedFormula.style.left = event.clientX - offsetX + "px"; selectedFormula.style.top = event.clientY - offsetY + "px"; } } }); document.addEventListener("mouseup", function(event) { selectedFormula = null; }); document.addEventListener("keydown", function(event) { if (event.key === "Enter") { var input = document.getElementById("latex-input"); var latexCode = input.value.trim(); if (latexCode) { var newFormula = document.createElement("div"); newFormula.className = "mathjax-formula"; newFormula.style.left = event.clientX + "px"; newFormula.style.top = event.clientY + "px"; newFormula.innerText = latexCode; var mathjaxFormulasContainer = document.getElementById("mathjax-formulas-container"); mathjaxFormulasContainer.appendChild(newFormula); formulas.push({ latexCode: latexCode, position: { x: event.clientX, y: event.clientY } }); MathJax.Hub.Queue(["Typeset", MathJax.Hub, newFormula]); input.value = ""; } } }); </script> <div> <input type="text" id="latex-input" placeholder="输入 LaTeX 公式" /> </div> </body> </html> ``` 现在,你可以在页面上输入 LaTeX 公式,按下 Enter 键后会将公式加载到 `<div>` 中。你可以通过拖动已存在的 `<div>` 进行移动。感谢你的耐心和理解!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值