Самый простой способ центрировать таблицы и другие элементы? - PullRequest
1 голос
/ 07 февраля 2009

Каков наилучший способ сделать вещи правильно центрированными? Как только я начинаю возиться со столами, вещи начинают смещаться влево или вправо, разрушая баланс. Как сделать так, чтобы все всегда было по центру?

Прямо сейчас это приведет к тому, что стол будет испорчен, и правый край исчезнет с экрана. Что я могу сделать?

Вот большая часть кода, я вырезал множество бесполезных функций, так как они все почти одинаковы. Он предназначен для использования дел в школах, так как мы выполнили около 40 из них для проекта.

\documentclass[10pt, a4paper]{article}
\usepackage{booktabs}
\begin{document}
\newcommand{\UCStart}[2]{
    \newpage
    \subsection[UC.#1]{UC.#1}
    \begin{tabular}{|l|m{4in}|c|}
        \hline
        \textbf{UC.#1}
        & \textbf{#2} 
        & \textbf{Traceability} \\ \hline
}

\newcommand{\UCDesc}[2]{
    \textbf{Description} 
    & #1
    & #2 \\ \hline
}

\newcommand{\UCActors}[2]{
    \textbf{External Actors}
    & #1
    & #2 \\ \hline
}

% Snip... 40 odd more functions %

\newcommand{\UCEnd}{
    \end{tabular}
}

\begin{table}[!ht]
    \setlength{\extrarowheight}{2pt}
    % UC 1
    \UCStart{01}{Administrator Starts Server}
    \UCDesc{This describes the process of the administrator starting the server}{\space}
    \UCActors{Administrator}{\space}
    \UCRelated{UC.02}{\space}
    \UCPre{Server is not running}{\space}
    \UCTrigger{Administrator wants to start the server}{\space}
    \UCSeq{
        \begin{enumerate}
            \item Administrator boots up hardware
            \item Administrator starts Administrator console
            \item Administrator logins into Administrator account with the corresponding password
            \item Administrator clicks start
        \end{enumerate}
    }{\space}
    \UCPost{Conditions that must be true, in order for the use case to finish}{\space}
    \UCAltSeq{
        \textbf{Alternative Use Case 01} \newline
        \begin{itemize}
            \item UC.01.ALT.01
            \item If administrator fails authentication in step 3
            \begin{enumerate}
                \item Notify administrator of failed authentication
            \end{enumerate}
        \end{itemize}
    }{\space}
    \UCNonFunc{ ??? }{\space}
    \UCComments{ Comments Go Here }{\space}
    \UCEnd

        \end{table}
    \end{document}

Ответы [ 2 ]

1 голос
/ 10 февраля 2009

Трудно понять, в чем проблема, когда мы не можем скомпилировать ваш пример.

Просматривая код, который вы указали, таблица может не подойти в этой ситуации. Вместо этого вы можете попробовать что-то вроде следующего:

\documentclass[10pt,a4paper]{article}
\begin{document}

\subsection{Administrator Starts Server}
\paragraph{Description:} This describes the process of the adminsitrator starting the server.

\paragraph{Actors:} Administrator

\paragraph{Preconditions:} Server is not running.

\paragraph{Sequence:}
\begin{enumerate}
  \item Administrator boots up hardware
  \item Administrator starts Administrator console
  \item Administrator logins into Administrator account with the corresponding password
  \item Administrator clicks start
\end{enumerate}

\end{document}

В приведенном вами примере я не вижу, чтобы вы когда-либо помещали какой-либо текст в столбец "Отслеживаемость". Чтобы имитировать этот столбец, вы можете использовать \marginpar{my text}, чтобы поместить текст на полях, или вы можете использовать blahblah\hfill{}my text, чтобы выровнять текст по правому краю на той же строке, что и «бла» Если вы хотите, чтобы текст прослеживаемости был выровнен по правому краю и содержался в отдельной строке, используйте \begin{flushright} my text \end{flushright}.

Если это не поможет решить вашу проблему, предоставьте нам минимальный пример, который компилирует и демонстрирует проблему.

1 голос
/ 07 февраля 2009

Я не могу скомпилировать ваш пример из-за нескольких ошибок, и я не уверен, что вы подразумеваете под «лучшим способом сделать все правильно». Как своего рода ответ типа хрустального шара, это то, что вы ищете?

 \documentclass[10pt,a4paper]{article}
 \usepackage{array}
 \begin{document}
 \begin{table}
 \centering
 \begin{tabular}{
     | >{\centering\arraybackslash }p{4cm} |
       >{\centering\arraybackslash }p{6cm} |
   }
   \hline
   some centred text in cells & some more centred text in cells \\
   \hline
   centred text in cells & more centred text in cells \\
   \hline
 \end{tabular}
 \end{table}
 \end{document}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...