
Я хотел бы создать Т-счет, как показано на этом изображении:
Я пытался сделать это с помощью табличной среды, но безрезультатно (например, когда у меня есть слова/цифры только на одной стороне счета, скажем, слева, все пространство на другой стороне (справа) удаляется).
Может быть, приемлемым решением будет использование minipage
среды с двумя столбцами внутри?
Буду признателен за любые советы!
\documentclass{article}
\begin{document}
\begin{table}[]
\centering
%\caption{My caption}
\label{my-label}
\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{Statement of Income 2015} \\ \hline
Debit & Credit \\ \hline
Increase & Decrease \\ \hline
Normal Balance & \\ \hline
\end{tabular}
\end{table}
\end{document}
решение1
(отредактировано с учетом желания OP иметь возможность переопределить ширину по умолчанию для t-аккаунта)
Вот ответ, определяющий макрос с именем \taccount
, который принимает четыре аргумента, первый из которых является необязательным:
- ширина каждого t-столбца; этот аргумент необязателен. Если не указано, то по умолчанию будет
\tcolumnwidth
(установлено1.75cm
в коде ниже) - заголовок учетной записи (по центру, включен автоматический перенос строк)
- материал для левого столбца («актив») (рваный справа, перенос строк разрешен, переносы разрешены)
- материал для правой («ответственность») колонки (также рваный справа, разрешен перенос строк, разрешены переносы)
\documentclass{article}
\usepackage{array,ragged2e}
\newlength\tcolumnwidth
\setlength\tcolumnwidth{1.75cm} % default width of t-column
\newlength\taccountwidth
%% The macro "\taccount" takes 4 arguments. The first
%% arg. is optional; its default value is \tcolumnwidth.
\newcommand\taccount[4][\tcolumnwidth]{%
\renewcommand\arraystretch{1.333} % default value: 1
\setlength\tabcolsep{3pt} % default value: 6pt
\setlength\taccountwidth{\dimexpr#1+#1+2\tabcolsep+1\arrayrulewidth\relax}
\begin{tabular}[t]{@{}l|l@{}}
\multicolumn{2}{>{\Centering}p{\taccountwidth}}{#2}\\
\hline
\begin{tabular}[t]{@{}>{\RaggedRight\hspace{0pt}}p{#1}}
#3 \end{tabular}
&
\begin{tabular}[t]{>{\RaggedRight\hspace{0pt}}p{#1}@{}}
#4 \end{tabular}
\end{tabular}}
\begin{document}
% First instance of \taccount uses the default width;
% the second instance uses a non-default width.
\taccount{A basic T-account}
{Asset 1\\Asset 2\\Asset 3\\Asset 4}
{Liability 1\\Liability 2\\ Equity}
\qquad
\taccount[2.75cm]{A slightly more complicated T-account}
{Basic Asset 1\\Complicated Asset 2\\Asset 3\\Asset 4}
{Liability 1\\Complicated Liability 2\\Preferred Stock\\Common Equity}
\end{document}
решение2
Определение ниже вводит макрос
\Taccount[column width]{headline}{table contents}
Первый аргумент является необязательным и по умолчанию равен 1.5cm
.
\newcommand\Taccount[3][1.5cm]%
{{\renewcommand\arraystretch{1.3}%
\begin{tabular}[t]{@{}p{#1}|p{#1}@{}}
\multicolumn{2}{@{}c@{}}{#2}\\
\hline
#3
\end{tabular}%
}}
Расстояние между строками контролируется параметром \arraystretch
, который здесь увеличен до 1.3
.
\documentclass{article}
\newcommand\Taccount[3][1.5cm]%
{{\renewcommand\arraystretch{1.3}%
\begin{tabular}[t]{@{}p{#1}|p{#1}@{}}
\multicolumn{2}{@{}c@{}}{#2}\\
\hline
#3
\end{tabular}%
}}
\begin{document}
\Taccount{Assets}{Debits&Credits\\Increase&Decrease\\Normal Balance}\quad
\Taccount{Expenses}{Debits&Credits\\Increase&Decrease\\Normal Balance}\quad
\Taccount{Owner's Drawing}{Debits&Credits\\Increase&Decrease\\Normal Balance}
\bigskip
\Taccount{Liabilities}{Debits&Credits\\Decrease&Increase\\&Normal Balance}\quad
\Taccount{Revenues}{Debits&Credits\\Decrease&Increase\\&Normal Balance}\quad
\Taccount{Owner's Capital}{Debits&Credits\\Decrease&Increase\\&Normal Balance}
\end{document}