Risposte nei forum create
-
AutoreRisposte
-
::
Mi sa che qualcosa mi sfugge ancora…ho scritto questo emc:`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{array}
\usepackage{tabularx}\begin{document}
\begin{tabularx}{\linewidth}{|*4{>{\centering}X|}}
\multicolumn{2}{|c|}{doppia} & singola & singola
\end{tabularx}\end{document}
`Come mai la multicolumn contenente il testo “doppia” non è larga il doppio rispetto alle celle contenenti il testo “singola”? Allego l’output.
[attachment=2751]tabularx.pdf[/attachment]
Attachments:
You must be logged in to view attached files.::
Fantastico!A voler essere pignoli rimarrebbe da capire perchè la linea orizzontale ottenuta con \hrule è un po più a sinistra rispetto alle linee orizzontali della tabella ottenute con \hline, anche se questa è davvero una sottigliezza.
[attachment=2748]tabellasequentitris.png[/attachment]
Attachments:
You must be logged in to view attached files.::
Si si, l’allineamento orizzontale era perfetto.
Ho comunque sostituito la soluzione che utilizzava \extrarowheight con quella che mi hai suggerito che utilizza arraystretch.
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{array}
\usepackage{tabularx}
\usepackage{bussproofs}\begin{document}
\hrule
\bigskip\noindent
%\setlength\extrarowheight{15pt}
\renewcommand\arraystretch{3}
\begin{tabularx}{\linewidth}{|*2{>{\centering}X|}}
\hline
\multicolumn{2}{|c|}{
\AxiomC{$\Gamma, \phi, \psi \vdash \Delta$}
\UnaryInfC{$\Gamma, \phi \wedge \psi \vdash \Delta$}
\DisplayProof
}\tabularnewline
\hline
\AxiomC{$\Gamma, \phi, \psi \vdash \Delta$} \DisplayProof & ciao \tabularnewline
\hline
ciao & ciao \tabularnewline
\hline
\AxiomC{$\Gamma, \phi, \psi \vdash \Delta$}
\UnaryInfC{$\Gamma, \phi \wedge \psi \vdash \Delta$}
\DisplayProof & ciao \tabularnewline
\hline
ciao & ciao \tabularnewline
\hline
\end{tabularx}\end{document}
`
Quello che ti chiedevo nel post precedente era se c’è un modo per centrare il contenuto delle celle orizzontalmente, nel senso che attualmente all’interno delle celle c’è molto più spazio sopra che sotto rispetto al contenuto.
::
Ho utilizzato
`\setlength\extrarowheight{15pt}`
ed ora il risultato è quasi esattamente quello che volevo.
L’unica cosa che manca sarebbe allineare verticalmente il contenuto di ogni cella al centro della cella, qualche suggerimento?[attachment=2747]tabellasequentibis.png[/attachment]
Attachments:
You must be logged in to view attached files.::
Fantastico, grazie!Un’ultima cosa…ho notato che se inserisco dei sequenti al posto della scritta “ciao” (o anche semplicemente se inserisco una scritta con lettere maiuscole) questi “toccano” la linea superiore della tabella, c’è un modo per aggiustare la spaziatura in modo che questo non succeda?
[attachment=2744]tabellasequenti.png[/attachment]
Attachments:
You must be logged in to view attached files.::
In che senso devo usare la colonna di tipo C? Cioè usare la C maiuscola al posto della minuscola?Ho usato il pacchetto array e aggiunto la riga di apertura di tabularx che mi hai indicato ma il problema non si è risolto:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{array}
\usepackage{tabularx}\begin{document}
\begin{tabularx}{\linewidth}{*2{>{\centering}X}}
%& \\
\hline
\multicolumn{2}{|c|}{Ciao}\\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\end{tabularx}\end{document}
`
::
Ho letto la documentazione di tabularx ed ho provato a costruire qualche tabella.
Il codice seguente crea una tabella che si adatta alle dimensioni del contenuto, ed è quindi “stretta”:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\columnwidth}{XX}
\hline
\multicolumn{2}{|c|}{Ciao}\\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\end{tabularx}\end{document}
`
Ho allora usato il trucchetto di aggiungere una riga vuota all’inizio:
`
\documentclass[a4paper,11pt]{book}\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\columnwidth}{XX}
& \\
\hline
\multicolumn{2}{|c|}{Ciao}\\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\multicolumn{1}{|c|}{ciao} & \multicolumn{1}{c|}{ciao} \\
\hline
\end{tabularx}\end{document}
`
In questo modo la tabella si allarga fino ad occupare la larghezza della griglia, ma c’è un modo più corretto per ottenere questo risultato?
::
Chiarissimo, grazie.Per curiosità, se il contenuto delle mie multicolumn fosse più piccolo (ad esempio, “uno”, “due”, “tre”), ci sarebbe un modo di dire a LaTeX di allargare la tabella fino a fargli occupare il 100% della larghezza (che mi sembra di capire si chiami gabbia) e di rendere tutte e tre le multicolumn larghe uguali?
::
Scusami tu, effettivamente avevo riportato un frammento di codice e non un EMC.Nel pdf che hai allegato al messaggio, vedo che la prima cella della prima riga è considerevolmente più larga delle altre due (probabilmente a causa del fatto che il suo contenuto è più largo rispetto al contenuto delle altre due). Mi sembra strano che visualizziamo il pdf in modi diversi, ma se me lo confermi posso riportare uno screenshot di come io visualizzo il tuo pdf.
PS: utilizzo TexLive su Windows, non so se sia aggiornato, come posso verificarlo?
::
Senza specificare una larghezza assoluta delle multicolumn, è possibile fare in modo che la tabella si allarghi automaticamente fino a che ogni riga abbia tutte le multicolumn tutte larghe uguali?E riguardo la possibilità di azzerare lo spazio a sinistra della prima cella e a destra dell’ultima, come lo posso specificare nei descrittori di colonna?
-
AutoreRisposte