Domanda


Sto creando un tavolo con mulitrow ma io sono sempre un problema. Per quanto ho capito, questa è la forma del multirow:

\multirow{count}{alignment}{content}

dove count è il numero di righe da unire allineamento è o L, C, R, o *, e il contenuto è il contenuto della riga. Ho provato quanto segue:

\multirow{3}{*}{Framing}

, ma io sono sempre un problema. Piuttosto che vedere la parola "Framing" nella cella, che vedo "3 * Framing", che dà l'indicazione che l'elemento \ multirow non funziona. Qualche idea?

Inoltre, come è possibile per allineare un testo in una cella in verticale?

UPDATE: Ho pensato che il \ usepackage {} multirow avrebbe risolto, ma vedo ancora problemi: In primo luogo, non posso fare allineamenti verticali. In secondo luogo, ho un po 'strano con la cellula "Framing". Invece di "Framing" allineato a sinistra, ottengo una riga virtuale contenente la lettera "l" e poi dopo due file virtuali ottengo la parola "Framing" !! E 'qualcosa di simile:

______________
|     l       |
|             |
|     Framing |
|             |
|             |
|             |
|             |
______________

Questa è la mia tavola per coloro che hanno chiesto a questo proposito:

\begin{table*}\tiny
    \centering
    \begin{tabular}{|c|c|c|c|c|p{2in}|}
        \hline

        Rule & Factor & Best Value & \Delta_t & \Delta_{do} & Comments \\

        \hline

        % Diagonal Dominance Rule
        \multirow{3}{*}{Diagonal Dominance} & Line Angle & 45 & 15 & 30 & The angle between the prominent line of the object and
                                                                          the diagonal lines \\                                     % TODO: What object? Make sure it is clear.
                                            & Line Distance & 0 & 0.25 & 1 & The distance, in screen coordinates, from the
                                                                             prominent line of the object to the diagonal lines. \\ % TODO: Need to define screen coordinates
                                            & Corner Distances & 0 & 0.1 & 0.7 & The distance, in screen coordinates, from the
                                                                                 end of the prominent line of the object to the corners of the screen. \\

        \hline

        % Framing Rule
        \multirow{4}{l}{Framing} & Left Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance between the
        left side of the frame covering the object and the left or the right side of the intended frame, whichever closer. \\
                                & Right Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance between the
        right side of the frame covering the object and the left or the right side of the intended frame, whichever closer. \\
                                & Top Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance between the
        top side of the frame covering the object and the upper or the lower side of the intended frame, whichever closer. \\
                                & Bottom Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance between the
        bottom side of the frame covering the object and the upper or the lower side of the intended frame, whichever closer. \\

        \hline
    \end{tabular}
    \caption{The factors of each rule and their parameters.}
    \label{table:factors}
\end{table*}

Saluti,
Rafid

È stato utile?

Soluzione

1) Hai messo \usepackage{multirow} all'inizio del documento?

2) Ci sono probabilmente buoni esempi là fuori da seguire. Non ho mai usato questo pacchetto, ma in breve tempo (in secondi) è stato in grado di trovare questo PAGINA tramite google. Fa seguito insieme a quell'esempio aiuto?


Aggiornamento: dopo aver visto la vostra tabella effettiva, mi dispiace dirlo, ma pensate che il vostro problema tecnico spaziatura è dovuto alla fuoriuscita di sopra nella colonna "commenti" in più righe. Ho troncato i tuoi commenti e ottenuto questo (colonna 1 è ora centrato verticalmente, se lo desideri):

\begin{table*}\tiny
  \centering
  \begin{tabular}{|c|c|c|c|c|p{3cm}|}
    \hline
    Rule & Factor & Best Value & \Delta_t & \Delta_{do} & Comments \\
    \hline

    % Diagonal Dominance Rule
    \multirow{3}{*}{Diagonal Dominance} & Line Angle & 45 & 15 & 30 & The angle between... \\
                                        & Line Distance & 0 & 0.25 & 1 & The distance, in... \\
                                        & Corner Distances & 0 & 0.1 & 0.7 & The distance, in... \\
    \hline

    % Framing Rule
    \multirow{4}{*}{Framing} & Left Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance... \\
                             & Right Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance... \\
                             & Top Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance... \\
                             & Bottom Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance... \\
    \hline
  \end{tabular}

  \caption{The factors of each rule and their parameters.}
  \label{table:factors}

\end{table*}

Per quanto riguarda il {} l argomento, penso che il link che ho postato in origine è forse sbagliato. LaTeX sputa fuori alcuni errori per me quando ho provare a sostituire * con l per l'argomento \multirow. Ottengo questo su una tabella di test:

! Missing number, treated as zero.
<to be read again> 
                   l
l.12 \multirow{4}{l}{Batch}
                            & MM & Min-Min \\
! Illegal unit of measure (pt inserted).
<to be read again> 
                   l
l.12 \multirow{4}{l}{Batch}
                            & MM & Min-Min \\

Dopo aver trovato QUESTO , penso che il secondo argomento in \multirow non è per un allineamento ma per una larghezza. Il LyX wiki collegato dice che il formato è in questo modo:

\multirow{number of rows}{cell width}{cell entry}

Abbiamo presupposto che {width cella} era actuall {} allineamento e credo che il collegamento da marche precedenti che confusione. Vedere la nota alla wiki LyX sulla spaziatura; è possibile utilizzare il seguente ove necessario per fargli fare la tua offerta:

\renewcommand{\multirowsetup}{\centering}

e sostituirlo con \centering \raggedleft o \raggedright dove necessario. Continuo a pensare che stai andando a correre nei guai con le linee multiple. Ho almeno mostrato che li affossa rende il lavoro spaziatura, se lo desideri ... come costringerli a essere centrato con il tuo esempio di default è al di là di me, ho paura. Ma forse ora sapete dove si trova il problema?

Credo che se davvero, davvero, davvero voluto che si potrebbe dividere la tua frase up, capire quante righe ci vuole, e regolare il vostro argomento \multirow conseguenza per l'aumento di righe. Anche se si sarebbe probabilmente anche bisogno di una struttura di multirow nidificato:

|                   | item 1, 2 rows | comment 1 line 1              |
|  multirow, 4 rows |                | comment 1 line 2 (spill over) |
|                   | item 2, 2 rows | comment 2 line 1              |
|                   |                | comment 2 line 2 (spill over) |

Ha senso? Colonna 1 avrebbe estendersi tutte le righe per la sua sezione, le righe successive attraverserebbe il numero di righe richieste dal frazionata fino osservazioni, e ogni linea necessari dai commenti (alcuni prendono 3 o 4) sarebbe sulle proprie linee separate e appaiono solo essere continuo. Non sono sicuro se la spaziatura frase apparirebbe strano, però.

vagante Nuff. Ecco il vostro cibo per la mente.


Un'Ultimo aggiornamento: Un ultimo modo speranza per andare su questo potrebbe essere con tavoli TikZ. In sostanza, i nodi sono come "cellule". Poi basta metterli insieme e farlo sembrare come un tavolo. Forse una proposta orribile, ma vi assicuro che avrete tutta la flessibilità di cui avete bisogno con spaziatura delle celle e così via. Alcune idee:

Altri suggerimenti

Sì, è necessario il pacchetto multirow.

\usepackage{multirow}
\begin{document}
\begin{table}
\centering
\begin{tabular}{l||c|r}
Header 1 & Header 2 & Header 3 \\
\multirow{2}{*}{Hello} & stuff & stuff \\
& Body 2 & Body 3
\end{tabular}
\end{table}
\end{document}

EDIT dopo le modifiche a domanda: ho avuto due errori:

  1. \multirow{4}{l}{Framing}. Ho cambiato per \multirow{4}{*}{Framing}

  2. Delta_t cambiato in $Delta_t$.

In caso contrario, tutto sembra bene. Si consiglia di chiedere tex.stackexchange.com , anche.

supposizione:? Stai diventando undefined control sequence: multirow perché ti manca un \usepackage{multirow} nel preambolo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top