将两列标题格式化为 knitr 文档

将两列标题格式化为 knitr 文档

我有一份报告,将作为 Shiny 应用程序的一部分生成。基本上是 Shiny 仪表板的 PDF 版本。我需要在报告标题中添加一个特定部分。它由 4 行文本组成,周围是方框(向左对齐)和徽标(向右对齐),位于报告顶部的同一行/空间中。它应该看起来像这样(示例):

header

我实际上还没有代码来执行此操作。现有标题位于已使用的 Word 文档中,我正在尝试自动执行此过程。我尝试了各种组合和其他\tablular东西\tabularx。我的第一个想法是制作一个表格,全页宽度,包含每个部分 - 第一列中的文本和第二列中的徽标。但是,在第一列中获得多行并在其周围设置一个框对我来说很有挑战性。

由于这基本上是一个 knitr / RMarkdown (.Rmd) 文档,因此我使用了header.tex我在序言中包含的文件。以下是header.tex内容:

\usepackage{graphicx}
\usepackage{framed}
\usepackage{soul}
\usepackage{rotating}
\usepackage{tabularx} 
\usepackage[table]{xcolor}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage{color}
\usepackage{fontspec}
\usepackage{array}
\usepackage[flushleft]{threeparttable}
\usepackage{lmodern}
\colorlet{lightred}{red!30}
\colorlet{lightyellow}{yellow!30}
\newcommand{\hlred}[1]{{\sethlcolor{lightred}\hl{#1}}}
\newcommand{\hlyellow}[1]{{\sethlcolor{lightyellow}\hl{#1}}}
\newcommand{\graph}[3]{
\raisebox{-#1mm}{\includegraphics[height=#2em]{#3}}
}
\usepackage{titling}
%\setlength{\droptitle}{10pt}
\pretitle{
    \begin{flushleft}
        Text
    \end{flushleft}
    \begin{flushright}
    \includegraphics[height=1.7cm]{logo.png}\\[\bigskipamount]
    \end{flushright}
    \begin{center}
        \LARGE
}
\posttitle{\end{center}}
\newcommand\crule[3][black]{\textcolor{#1}{\rule{#2}{#3}}}

我在 knitr 文档上的序言/ yaml 是相当标准的:

---
title: "Title
date: '`r format(Sys.Date(), "%B %d, %Y")`'
output:
  pdf_document:
    latex_engine: xelatex
    includes:
      in_header: header.tex
mainfont: Verdana
fontsize: 11pt
linkcolor: blue
geometry: margin=.75in
---

任何帮助都将不胜感激。非常感谢!

答案1

一种方法是,需要array使用m列的包。

\documentclass{article}
\usepackage{graphicx,array}
\begin{document}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}|m{4cm}|m{4cm}}
\cline{1-1}
Bla bla  \newline Bla \newline Bla \newline bla \newline ...
&  \includegraphics[height=2.5cm]{example-image}\\
\cline{1-1}
\end{tabular*}
\end{document}

相关内容