如何使用边距使表格居中

如何使用边距使表格居中

我想实现类似这两张图片中的东西。我想使用部分页边距来做笔记(绘制偶数表!)。我希望页边距从奇数页变为偶数页(我认为找到方法很简单,但如果您告诉我如何做,我将不胜感激)。我的问题是,当我绘制表格时,它不使用左边距,因此其中的一部分不会显示,因为它存在于右边距。那么如何告诉表格使用左边距?我的问题不仅针对表格,还针对所有框(列出代码、图形等)。我试过chngpage打包,但它对我来说不起作用。

我想要一些东西让我指定左边距和右边距(表格永远不应该在这些边距之外绘制)并且如果它很小它将居中。

在此处输入图片描述 在此处输入图片描述

平均能量损失

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{booktabs,caption,fixltx2e}
\usepackage{chngpage}
\usepackage{lipsum}
\usepackage[flushleft]{threeparttable}
\usepackage{hhline}
\usepackage{xcolor,colortbl}
\usepackage[top=2.5cm, bottom=2.5cm, left=8cm, right=2.5cm, heightrounded,
  marginparwidth=7cm, marginparsep=3mm]{geometry}
\usepackage{hyperref}
\usepackage{minted}
\begin{document}
  \lipsum[1]
  \begin{adjustwidth}{-6in}{-6in}
  \begin{table}
  \begin{threeparttable}
    \caption{\label{comparaison}  Comparaison entre JSON, XML et 
multipart/form-data}
\begin{tabular}{|>{\raggedright\arraybackslash}p{2cm}|>{
\raggedright\arraybackslash}p{3cm}|>{\raggedright\arraybackslash}p{3cm}|>{
\raggedright\arraybackslash}p{3.5cm} |}
\hhline{~---}
\multicolumn{1}{c|}{} & \cellcolor{gray!30} JSON & \cellcolor{gray!30} XML & 
\cellcolor{gray!30} multipart/form-data \\
\hline
\cellcolor{gray!30} Taille des données &
Trop léger et économise des ressources  &
trop verbeux mais en utilisant la compression on pourrait réduire 
considérablement la taille de données &

Trop léger\\
\hline

\cellcolor{gray!30} Typage &
Il support les types de base (entier, booleen, chaîne de caractères, tableau  
liste) &
Il supporte beaucoup de types de données &
non typée \\
\hline
\cellcolor{gray!30} Caractères non ASCII &
JSON est encodé en UTF-8 &
Possibilité d'encoder la requête en UTF-8 &
Possibilité d'utiliser UTF-8 comme encodage \\
\hline
\cellcolor{gray!30} données binaires &
Les données doivent être encodé (base64 par exemple) &
Comme pour le format JSON les données doivent être encodées &
C'est possible \\
\hline
\cellcolor{gray!30} Parseur Python/Java &
Il est pris en charge par Python. Besoin d'une librairie externe en Java &
Il pris en charge en Python/Java &
Pris en charge en Python/Java \\
\hline

\end{tabular}
\begin{tablenotes}
      \small
      \item \textbf{Source :} 
\begin{itemize}
 \item 
\href{http://stackoverflow.com/questions/4007969/}{Réponse de manuel aldana}
\item \href{http://www.scriptol.fr/ajax/json-xml.php}{JSON ou XML, quel format 
choisir?}
\end{itemize}

    \end{tablenotes}
  \end{threeparttable}
\end{table}
\end{adjustwidth}
\lipsum[1]

\newpage
\begin{minted}[mathescape,
               linenos,
               numbersep=5pt,
               gobble=2,
               frame=lines,
               framesep=2mm]{json}
{
  "culture precedente": "Tournesol",
  "culture principale" : "Blé",
  "parcelle" : "BI",
  "test line " : "very long long long long long long long long long long long long long long long line"
  "parameters" : {
    "start" : "2010-07-12 12:00:00",
    "end" : "2012-01-12 12:00:00",
    "pram1" : "value",
    "param2" : "value"
  },

  "results" : { 
      "numeric" : ["QELS", "WCF30"],
      "graph" : [{
          "X" : "time",
          "Y" : "QELS"
      }]
    }
}
\end{minted}
Voici un exemple de réponse : 
\begin{minted}[mathescape,
               linenos,
               numbersep=5pt,
               gobble=2,
               frame=lines,
               framesep=2mm]{json}
{
  "results" : {
    "QELS" : 1.254,
    "WCF30" : 200.745,
    "graph" : [
        "http://toulouse.inra.fr/api/files/graph.png" 
        ] 
  }
}
\end{minted}  

\end{document}

结果(已编辑)

在此处输入图片描述 在此处输入图片描述

答案1

对于比文本宽度更宽的表格使用:

\begin{table}[!htb]

\hspace*{-\marginwidth}\makebox[\totalwidth][r]{%

   \begin{threeparttable}
     ....
   \end{threeparttable}%
}
\end{table}

对于较小的:

\begin{table}[!htb]
   \centering
   \begin{threeparttable}
     ....
   \end{threeparttable}%
\end{table}

在此处输入图片描述

完整的代码,定义了两个正确宽度的长度:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{booktabs,caption,fixltx2e}
\usepackage{chngpage}
\usepackage{lipsum}
\usepackage[flushleft]{threeparttable}
\newcolumntype{P}[1]{>{\RaggedRight}p{#1}}
\usepackage{hhline}
\usepackage{ragged2e}
\usepackage[table]{xcolor}

\usepackage[top=2.5cm, bottom=2.5cm, left=8cm, right=2.5cm, heightrounded,
  marginparwidth=7cm, marginparsep=3mm]{geometry}
\usepackage{hyperref}

\newlength\marginwidth
\setlength\marginwidth{\dimexpr\marginparwidth+\marginparsep}
\newlength\totalwidth 
\setlength\totalwidth{\dimexpr\textwidth+\marginwidth}

\begin{document}
  \lipsum[1]

\begin{table}[!htb]
\hspace*{-\marginwidth}\makebox[\totalwidth][r]{%
 \begin{threeparttable}
 \caption{\label{comparaison}  Comparaison entre JSON, XML et 
multipart/form-data}
\begin{tabular}{|>{\columncolor{gray!30}}P{2cm}|P{3cm}|P{3cm}|P{3.5cm} |}
\hhline{~---}
\multicolumn{1}{c|}{} & \cellcolor{gray!30} JSON & \cellcolor{gray!30} XML & multipart/form-data \\ \hline
Taille des données &
Trop léger et économise des ressources  &
trop verbeux mais en utilisant la compression on pourrait réduire 
considérablement la taille de données &
Trop léger\\
\hline
Typage &
Il support les types de base (entier, booleen, chaîne de caractères, tableau  
liste) &
Il supporte beaucoup de types de données &
non typée \\
\hline
Caractères non ASCII &
JSON est encodé en UTF-8 &
Possibilité d'encoder la requête en UTF-8 &
Possibilité d'utiliser UTF-8 comme encodage \\
\hline
données binaires &
Les données doivent être encodé (base64 par exemple) &
Comme pour le format JSON les données doivent être encodées &
C'est possible \\
\hline
Parseur Python/Java &
Il est pris en charge par Python. Besoin d'une librairie externe en Java & 
Il pris en charge en Python/Java &
Pris en charge en Python/Java \\ \hline
\end{tabular}
\begin{tablenotes}
      \small
      \item \textbf{Source :} 
\begin{itemize}
 \item 
\href{http://stackoverflow.com/questions/4007969/}{Réponse de manuel aldana}
\item \href{http://www.scriptol.fr/ajax/json-xml.php}{JSON ou XML, quel format 
choisir?}
\end{itemize}
    \end{tablenotes}
  \end{threeparttable}%
}
\end{table}

\lipsum[1]
\end{document}

相关内容