Improve appearance of the table in LatexHow to improve table code?Improve appearance of tableHow can I improve this table (using tabularx)?How can I improve the style of this table in latex?Control the appearance of itemize itemsImprove table layoutBlack cell appearance in tableImprove table formattingHow to improve this table?improve this table with latex

One folder two different locations on ubuntu 18.04

How hard is it to sell a home which is currently mortgaged?

Why is the divergence of this series apparently not predicted by the Monotonic Sequence Theorem?

Was "I have the farts, again" broadcast from the Moon to the whole world?

What happens when your group is victim of a surprise attack but you can't be surprised?

How well known and how commonly used was Huffman coding in 1979?

How can I convince my reader that I will not use a certain trope?

Is it bad to describe a character long after their introduction?

Why is the Turkish president's surname spelt in Russian as Эрдоган, with г?

How can I create ribbons like these in Microsoft word 2010?

Does the UK have a written constitution?

Why is Madam Hooch not a professor?

Does anycast addressing add additional latency in any way?

In native German words, is Q always followed by U, as in English?

How exactly is a normal force exerted, at the molecular level?

Golf the smallest circle!

How can I check type T is among parameter pack Ts... in C++?

Does ultrasonic bath cleaning damage laboratory volumetric glassware calibration?

How should I behave to assure my friends that I am not after their money?

Do I have to roll to maintain concentration if a target other than me who is affected by my concentration spell takes damage?

Wilcoxon signed rank test – critical value for n>50

Could Sauron have read Tom Bombadil's mind if Tom had held the Palantir?

When to apply Lorentz transformations and laws of time dilations and length contractions: explanations

Is there a short way to check uniqueness of values without using 'if' and multiple 'and's?



Improve appearance of the table in Latex


How to improve table code?Improve appearance of tableHow can I improve this table (using tabularx)?How can I improve the style of this table in latex?Control the appearance of itemize itemsImprove table layoutBlack cell appearance in tableImprove table formattingHow to improve this table?improve this table with latex






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








12















I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?



enter image description here



begintable[ht]
rowcolors1gray!25white
centering
begintabularp20mm
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented & beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed & Not direct access to native features of device because of WebViews
\
endtabular
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks
endtable









share|improve this question






















  • never use vertical separators.

    – gented
    Jun 18 at 14:40

















12















I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?



enter image description here



begintable[ht]
rowcolors1gray!25white
centering
begintabularp20mm
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented & beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed & Not direct access to native features of device because of WebViews
\
endtabular
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks
endtable









share|improve this question






















  • never use vertical separators.

    – gented
    Jun 18 at 14:40













12












12








12


2






I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?



enter image description here



begintable[ht]
rowcolors1gray!25white
centering
begintabularp20mm
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented & beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed & Not direct access to native features of device because of WebViews
\
endtabular
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks
endtable









share|improve this question














I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?



enter image description here



begintable[ht]
rowcolors1gray!25white
centering
begintabularp20mm
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented & beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed & Not direct access to native features of device because of WebViews
\
endtabular
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks
endtable






tables tabularx itemize






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jun 17 at 12:16









Kathrine HansonKathrine Hanson

707 bronze badges




707 bronze badges












  • never use vertical separators.

    – gented
    Jun 18 at 14:40

















  • never use vertical separators.

    – gented
    Jun 18 at 14:40
















never use vertical separators.

– gented
Jun 18 at 14:40





never use vertical separators.

– gented
Jun 18 at 14:40










3 Answers
3






active

oldest

votes


















15














I would rather have table with following design:



enter image description here



Edit:



In comparison with your table code I made the following changes:



  • With use of geometry package and its default settings for pages' borders the width of text width is increased. With this a more space for table columns are available. Consequently, the text can be in a more beautiful form than in cells with width of 25mm.

  • For table environment is used tabularx with prescribed table width equal to text width. Using it the width of columns are automatic adopted to available text width.

  • Defined is L column types with use of RaggedRight from ragged2e package. By it cell's contents are aligned to the left hyphenation of words is used when necessary. By this the cells' contents have uniform inter words space and looks nicer

  • For better text spacing into cells the font size small is used.

  • For lists (itemize) is used enumitem package which enable simple customizing of lists. With etoolbox it is adopted for use in tables (no vertical space before and after lists, no vertical spaces between items, minimized left lists borders)

  • Table rules are from booktabs package. Also their number is reduced

    to minimum (three). Rows in table are separated by vertical space determined by addlinspace

  • Coloring of rows is omitted (they also don't work nicely with rules from booktabs package)

 documentclassarticle
usepackagegeometry
usepackageragged2e
usepackagebooktabs, tabularx
usepackageenumitem
usepackageetoolbox
AtBeginEnvironmenttable%
setlist[itemize]nosep,
leftmargin=*,
before=vspace-0.6baselineskip,
after=vspace-baselineskip


hyphenationdis-advant-ages native-script plug-ins

begindocument
begintable[ht]
small
centering
begintabularxlinewidth@ >RaggedRighthsize=0.8hsizeX
*4>RaggedRighthsize=1.05hsizeX @
toprule
& Flutter & React Native & NativeScript & Ionic \
midrule
Wrapper/ Container
& No & No & No & WebViews by Apache Cordova \ addlinespace
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
addlinespace
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented
& beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
bottomrule
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
%parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework

labeltable:comparisonFrameworks
endtable
enddocument


If you not like to use wider text defined by geometry, than remove it from preamble. Table will automatic accommodate to new width. Result than will be the following:



enter image description here






share|improve this answer




















  • 1





    @Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

    – Kathrine Hanson
    Jun 17 at 13:52






  • 2





    @KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

    – Mico
    Jun 17 at 13:58



















9














I suggest you use a tabularx environment, with width set to textwidth, ragged-right rather than full justification in all five columns, and a bespoke itemize-like environment (called mylist in the code below) that uses all available space.



I also wouldn't use vertical lines to separate the columns -- they're not needed, and I wouldn't use hline directives except at the very end of the tabularx environment.



enter image description here



documentclassarticle

usepackage[english]babel
usepackage[table]xcolor
providecommandparencite[1]# % dummy definition

usepackagetabularx,ragged2e
newcolumntypeL>RaggedRightarraybackslashhspace0ptX
newcolumntypeP[1]>RaggedRightp#1

usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage

hyphenationweb-views native-script % provide additional hyphenation exceptions

begindocument
begintable[ht]
setlengthextrarowheight2pt % for a more open "look"
rowcolors1gray!25white
setlengthtabcolsep5pt % default: 6pt

%centering % not needed
begintabularxtextwidth P20mm *4L
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic \
%hline
Wrapperslash Container & No & No & No & WebViews by Apache Cordova \
%hline
Other ways of accessing native APIs &
beginmylist
item Built-in classes
item Third-party plugins
endmylist &
beginmylist
item Built-in React APIs through JS
item Native modules
endmylist &
Plugins developed by NativeScript team through JS &
Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
%hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginmylist
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
endmylist &
Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
hline % <-- new
endtabularx

captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks

endtable
enddocument



Addendum to address the follow-up query posted by @pzorba75: The etoolbox provides the instructions BeforeBeginEnvironment and AfterEndEnvironment. These two instructions are used in the code shown above to "encase" each mylist environment in a minipage environment. The encasing automatically eliminates the whitespace that would otherwise be inserted before the first item and below the final item of the list. (If you don't use the minipage approach, you'd have to eliminate the whitespace manually, as is done in Zarko's parallel answer.)



The enumitem package actually provides the before=... and after=... options. Thus, one could replace



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage


with



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet,
before=beginminipage[t]hsize,
after=endminipage


The output is the same as above.






share|improve this answer

























  • what does etoobox do in this document?

    – pzorba75
    Jun 17 at 13:34











  • @pzorba75 - Please see the addendum I posted to address your follow-up query.

    – Mico
    Jun 17 at 13:50


















4














For example:



documentclass[a4paper]article
usepackage[english]babel

usepackage[svgnames,table]xcolor
usepackagetabularx
usepackageragged2e
usepackageenumitem
setlistnosep,noitemsep,topsep=0pt,leftmargin=1em
usepackagebiblatex
addbibresourcebiblatex-examples.bib
renewcommandtabularxcolumn[1]>RaggedRightp#1

begindocument

begintable[ht]
rowcolors1gray!25white
centering
begintabularxlinewidthXhline
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be
developed &
Not direct access to native features of device because of WebViews
\hline
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite,
FlutterFramework
labeltable:comparisonFrameworks
endtable

enddocument


enter image description here






share|improve this answer




















  • 2





    This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

    – Kathrine Hanson
    Jun 17 at 12:58







  • 1





    Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

    – Mico
    Jun 17 at 13:24






  • 1





    @KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

    – Mico
    Jun 17 at 13:53






  • 1





    The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

    – Mico
    Jun 17 at 13:55






  • 2





    @Mico I am now implementing your solutiona and table looks much better thanks!!!

    – Kathrine Hanson
    Jun 17 at 14:03













Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f496161%2fimprove-appearance-of-the-table-in-latex%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









15














I would rather have table with following design:



enter image description here



Edit:



In comparison with your table code I made the following changes:



  • With use of geometry package and its default settings for pages' borders the width of text width is increased. With this a more space for table columns are available. Consequently, the text can be in a more beautiful form than in cells with width of 25mm.

  • For table environment is used tabularx with prescribed table width equal to text width. Using it the width of columns are automatic adopted to available text width.

  • Defined is L column types with use of RaggedRight from ragged2e package. By it cell's contents are aligned to the left hyphenation of words is used when necessary. By this the cells' contents have uniform inter words space and looks nicer

  • For better text spacing into cells the font size small is used.

  • For lists (itemize) is used enumitem package which enable simple customizing of lists. With etoolbox it is adopted for use in tables (no vertical space before and after lists, no vertical spaces between items, minimized left lists borders)

  • Table rules are from booktabs package. Also their number is reduced

    to minimum (three). Rows in table are separated by vertical space determined by addlinspace

  • Coloring of rows is omitted (they also don't work nicely with rules from booktabs package)

 documentclassarticle
usepackagegeometry
usepackageragged2e
usepackagebooktabs, tabularx
usepackageenumitem
usepackageetoolbox
AtBeginEnvironmenttable%
setlist[itemize]nosep,
leftmargin=*,
before=vspace-0.6baselineskip,
after=vspace-baselineskip


hyphenationdis-advant-ages native-script plug-ins

begindocument
begintable[ht]
small
centering
begintabularxlinewidth@ >RaggedRighthsize=0.8hsizeX
*4>RaggedRighthsize=1.05hsizeX @
toprule
& Flutter & React Native & NativeScript & Ionic \
midrule
Wrapper/ Container
& No & No & No & WebViews by Apache Cordova \ addlinespace
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
addlinespace
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented
& beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
bottomrule
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
%parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework

labeltable:comparisonFrameworks
endtable
enddocument


If you not like to use wider text defined by geometry, than remove it from preamble. Table will automatic accommodate to new width. Result than will be the following:



enter image description here






share|improve this answer




















  • 1





    @Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

    – Kathrine Hanson
    Jun 17 at 13:52






  • 2





    @KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

    – Mico
    Jun 17 at 13:58
















15














I would rather have table with following design:



enter image description here



Edit:



In comparison with your table code I made the following changes:



  • With use of geometry package and its default settings for pages' borders the width of text width is increased. With this a more space for table columns are available. Consequently, the text can be in a more beautiful form than in cells with width of 25mm.

  • For table environment is used tabularx with prescribed table width equal to text width. Using it the width of columns are automatic adopted to available text width.

  • Defined is L column types with use of RaggedRight from ragged2e package. By it cell's contents are aligned to the left hyphenation of words is used when necessary. By this the cells' contents have uniform inter words space and looks nicer

  • For better text spacing into cells the font size small is used.

  • For lists (itemize) is used enumitem package which enable simple customizing of lists. With etoolbox it is adopted for use in tables (no vertical space before and after lists, no vertical spaces between items, minimized left lists borders)

  • Table rules are from booktabs package. Also their number is reduced

    to minimum (three). Rows in table are separated by vertical space determined by addlinspace

  • Coloring of rows is omitted (they also don't work nicely with rules from booktabs package)

 documentclassarticle
usepackagegeometry
usepackageragged2e
usepackagebooktabs, tabularx
usepackageenumitem
usepackageetoolbox
AtBeginEnvironmenttable%
setlist[itemize]nosep,
leftmargin=*,
before=vspace-0.6baselineskip,
after=vspace-baselineskip


hyphenationdis-advant-ages native-script plug-ins

begindocument
begintable[ht]
small
centering
begintabularxlinewidth@ >RaggedRighthsize=0.8hsizeX
*4>RaggedRighthsize=1.05hsizeX @
toprule
& Flutter & React Native & NativeScript & Ionic \
midrule
Wrapper/ Container
& No & No & No & WebViews by Apache Cordova \ addlinespace
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
addlinespace
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented
& beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
bottomrule
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
%parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework

labeltable:comparisonFrameworks
endtable
enddocument


If you not like to use wider text defined by geometry, than remove it from preamble. Table will automatic accommodate to new width. Result than will be the following:



enter image description here






share|improve this answer




















  • 1





    @Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

    – Kathrine Hanson
    Jun 17 at 13:52






  • 2





    @KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

    – Mico
    Jun 17 at 13:58














15












15








15







I would rather have table with following design:



enter image description here



Edit:



In comparison with your table code I made the following changes:



  • With use of geometry package and its default settings for pages' borders the width of text width is increased. With this a more space for table columns are available. Consequently, the text can be in a more beautiful form than in cells with width of 25mm.

  • For table environment is used tabularx with prescribed table width equal to text width. Using it the width of columns are automatic adopted to available text width.

  • Defined is L column types with use of RaggedRight from ragged2e package. By it cell's contents are aligned to the left hyphenation of words is used when necessary. By this the cells' contents have uniform inter words space and looks nicer

  • For better text spacing into cells the font size small is used.

  • For lists (itemize) is used enumitem package which enable simple customizing of lists. With etoolbox it is adopted for use in tables (no vertical space before and after lists, no vertical spaces between items, minimized left lists borders)

  • Table rules are from booktabs package. Also their number is reduced

    to minimum (three). Rows in table are separated by vertical space determined by addlinspace

  • Coloring of rows is omitted (they also don't work nicely with rules from booktabs package)

 documentclassarticle
usepackagegeometry
usepackageragged2e
usepackagebooktabs, tabularx
usepackageenumitem
usepackageetoolbox
AtBeginEnvironmenttable%
setlist[itemize]nosep,
leftmargin=*,
before=vspace-0.6baselineskip,
after=vspace-baselineskip


hyphenationdis-advant-ages native-script plug-ins

begindocument
begintable[ht]
small
centering
begintabularxlinewidth@ >RaggedRighthsize=0.8hsizeX
*4>RaggedRighthsize=1.05hsizeX @
toprule
& Flutter & React Native & NativeScript & Ionic \
midrule
Wrapper/ Container
& No & No & No & WebViews by Apache Cordova \ addlinespace
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
addlinespace
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented
& beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
bottomrule
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
%parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework

labeltable:comparisonFrameworks
endtable
enddocument


If you not like to use wider text defined by geometry, than remove it from preamble. Table will automatic accommodate to new width. Result than will be the following:



enter image description here






share|improve this answer















I would rather have table with following design:



enter image description here



Edit:



In comparison with your table code I made the following changes:



  • With use of geometry package and its default settings for pages' borders the width of text width is increased. With this a more space for table columns are available. Consequently, the text can be in a more beautiful form than in cells with width of 25mm.

  • For table environment is used tabularx with prescribed table width equal to text width. Using it the width of columns are automatic adopted to available text width.

  • Defined is L column types with use of RaggedRight from ragged2e package. By it cell's contents are aligned to the left hyphenation of words is used when necessary. By this the cells' contents have uniform inter words space and looks nicer

  • For better text spacing into cells the font size small is used.

  • For lists (itemize) is used enumitem package which enable simple customizing of lists. With etoolbox it is adopted for use in tables (no vertical space before and after lists, no vertical spaces between items, minimized left lists borders)

  • Table rules are from booktabs package. Also their number is reduced

    to minimum (three). Rows in table are separated by vertical space determined by addlinspace

  • Coloring of rows is omitted (they also don't work nicely with rules from booktabs package)

 documentclassarticle
usepackagegeometry
usepackageragged2e
usepackagebooktabs, tabularx
usepackageenumitem
usepackageetoolbox
AtBeginEnvironmenttable%
setlist[itemize]nosep,
leftmargin=*,
before=vspace-0.6baselineskip,
after=vspace-baselineskip


hyphenationdis-advant-ages native-script plug-ins

begindocument
begintable[ht]
small
centering
begintabularxlinewidth@ >RaggedRighthsize=0.8hsizeX
*4>RaggedRighthsize=1.05hsizeX @
toprule
& Flutter & React Native & NativeScript & Ionic \
midrule
Wrapper/ Container
& No & No & No & WebViews by Apache Cordova \ addlinespace
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
addlinespace
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented
& beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
bottomrule
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
%parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework

labeltable:comparisonFrameworks
endtable
enddocument


If you not like to use wider text defined by geometry, than remove it from preamble. Table will automatic accommodate to new width. Result than will be the following:



enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Jun 17 at 18:57

























answered Jun 17 at 13:03









ZarkoZarko

138k8 gold badges75 silver badges183 bronze badges




138k8 gold badges75 silver badges183 bronze badges







  • 1





    @Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

    – Kathrine Hanson
    Jun 17 at 13:52






  • 2





    @KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

    – Mico
    Jun 17 at 13:58













  • 1





    @Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

    – Kathrine Hanson
    Jun 17 at 13:52






  • 2





    @KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

    – Mico
    Jun 17 at 13:58








1




1





@Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

– Kathrine Hanson
Jun 17 at 13:52





@Mico Hi, thanks both for your help. I really like that solution but the problem is the whole orientation of the document is changed to portrait. How can I just make the orientation change only for tables? Thanks.

– Kathrine Hanson
Jun 17 at 13:52




2




2





@KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

– Mico
Jun 17 at 13:58






@KathrineHanson - Zarko's proposed solution does not switch the table's orientation from portrait to landscape. However, the fact that the geometry package is loaded does increase the width of the table considerably. This increase in the width of the text block is not acceptable to you, right?

– Mico
Jun 17 at 13:58














9














I suggest you use a tabularx environment, with width set to textwidth, ragged-right rather than full justification in all five columns, and a bespoke itemize-like environment (called mylist in the code below) that uses all available space.



I also wouldn't use vertical lines to separate the columns -- they're not needed, and I wouldn't use hline directives except at the very end of the tabularx environment.



enter image description here



documentclassarticle

usepackage[english]babel
usepackage[table]xcolor
providecommandparencite[1]# % dummy definition

usepackagetabularx,ragged2e
newcolumntypeL>RaggedRightarraybackslashhspace0ptX
newcolumntypeP[1]>RaggedRightp#1

usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage

hyphenationweb-views native-script % provide additional hyphenation exceptions

begindocument
begintable[ht]
setlengthextrarowheight2pt % for a more open "look"
rowcolors1gray!25white
setlengthtabcolsep5pt % default: 6pt

%centering % not needed
begintabularxtextwidth P20mm *4L
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic \
%hline
Wrapperslash Container & No & No & No & WebViews by Apache Cordova \
%hline
Other ways of accessing native APIs &
beginmylist
item Built-in classes
item Third-party plugins
endmylist &
beginmylist
item Built-in React APIs through JS
item Native modules
endmylist &
Plugins developed by NativeScript team through JS &
Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
%hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginmylist
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
endmylist &
Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
hline % <-- new
endtabularx

captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks

endtable
enddocument



Addendum to address the follow-up query posted by @pzorba75: The etoolbox provides the instructions BeforeBeginEnvironment and AfterEndEnvironment. These two instructions are used in the code shown above to "encase" each mylist environment in a minipage environment. The encasing automatically eliminates the whitespace that would otherwise be inserted before the first item and below the final item of the list. (If you don't use the minipage approach, you'd have to eliminate the whitespace manually, as is done in Zarko's parallel answer.)



The enumitem package actually provides the before=... and after=... options. Thus, one could replace



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage


with



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet,
before=beginminipage[t]hsize,
after=endminipage


The output is the same as above.






share|improve this answer

























  • what does etoobox do in this document?

    – pzorba75
    Jun 17 at 13:34











  • @pzorba75 - Please see the addendum I posted to address your follow-up query.

    – Mico
    Jun 17 at 13:50















9














I suggest you use a tabularx environment, with width set to textwidth, ragged-right rather than full justification in all five columns, and a bespoke itemize-like environment (called mylist in the code below) that uses all available space.



I also wouldn't use vertical lines to separate the columns -- they're not needed, and I wouldn't use hline directives except at the very end of the tabularx environment.



enter image description here



documentclassarticle

usepackage[english]babel
usepackage[table]xcolor
providecommandparencite[1]# % dummy definition

usepackagetabularx,ragged2e
newcolumntypeL>RaggedRightarraybackslashhspace0ptX
newcolumntypeP[1]>RaggedRightp#1

usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage

hyphenationweb-views native-script % provide additional hyphenation exceptions

begindocument
begintable[ht]
setlengthextrarowheight2pt % for a more open "look"
rowcolors1gray!25white
setlengthtabcolsep5pt % default: 6pt

%centering % not needed
begintabularxtextwidth P20mm *4L
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic \
%hline
Wrapperslash Container & No & No & No & WebViews by Apache Cordova \
%hline
Other ways of accessing native APIs &
beginmylist
item Built-in classes
item Third-party plugins
endmylist &
beginmylist
item Built-in React APIs through JS
item Native modules
endmylist &
Plugins developed by NativeScript team through JS &
Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
%hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginmylist
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
endmylist &
Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
hline % <-- new
endtabularx

captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks

endtable
enddocument



Addendum to address the follow-up query posted by @pzorba75: The etoolbox provides the instructions BeforeBeginEnvironment and AfterEndEnvironment. These two instructions are used in the code shown above to "encase" each mylist environment in a minipage environment. The encasing automatically eliminates the whitespace that would otherwise be inserted before the first item and below the final item of the list. (If you don't use the minipage approach, you'd have to eliminate the whitespace manually, as is done in Zarko's parallel answer.)



The enumitem package actually provides the before=... and after=... options. Thus, one could replace



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage


with



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet,
before=beginminipage[t]hsize,
after=endminipage


The output is the same as above.






share|improve this answer

























  • what does etoobox do in this document?

    – pzorba75
    Jun 17 at 13:34











  • @pzorba75 - Please see the addendum I posted to address your follow-up query.

    – Mico
    Jun 17 at 13:50













9












9








9







I suggest you use a tabularx environment, with width set to textwidth, ragged-right rather than full justification in all five columns, and a bespoke itemize-like environment (called mylist in the code below) that uses all available space.



I also wouldn't use vertical lines to separate the columns -- they're not needed, and I wouldn't use hline directives except at the very end of the tabularx environment.



enter image description here



documentclassarticle

usepackage[english]babel
usepackage[table]xcolor
providecommandparencite[1]# % dummy definition

usepackagetabularx,ragged2e
newcolumntypeL>RaggedRightarraybackslashhspace0ptX
newcolumntypeP[1]>RaggedRightp#1

usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage

hyphenationweb-views native-script % provide additional hyphenation exceptions

begindocument
begintable[ht]
setlengthextrarowheight2pt % for a more open "look"
rowcolors1gray!25white
setlengthtabcolsep5pt % default: 6pt

%centering % not needed
begintabularxtextwidth P20mm *4L
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic \
%hline
Wrapperslash Container & No & No & No & WebViews by Apache Cordova \
%hline
Other ways of accessing native APIs &
beginmylist
item Built-in classes
item Third-party plugins
endmylist &
beginmylist
item Built-in React APIs through JS
item Native modules
endmylist &
Plugins developed by NativeScript team through JS &
Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
%hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginmylist
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
endmylist &
Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
hline % <-- new
endtabularx

captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks

endtable
enddocument



Addendum to address the follow-up query posted by @pzorba75: The etoolbox provides the instructions BeforeBeginEnvironment and AfterEndEnvironment. These two instructions are used in the code shown above to "encase" each mylist environment in a minipage environment. The encasing automatically eliminates the whitespace that would otherwise be inserted before the first item and below the final item of the list. (If you don't use the minipage approach, you'd have to eliminate the whitespace manually, as is done in Zarko's parallel answer.)



The enumitem package actually provides the before=... and after=... options. Thus, one could replace



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage


with



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet,
before=beginminipage[t]hsize,
after=endminipage


The output is the same as above.






share|improve this answer















I suggest you use a tabularx environment, with width set to textwidth, ragged-right rather than full justification in all five columns, and a bespoke itemize-like environment (called mylist in the code below) that uses all available space.



I also wouldn't use vertical lines to separate the columns -- they're not needed, and I wouldn't use hline directives except at the very end of the tabularx environment.



enter image description here



documentclassarticle

usepackage[english]babel
usepackage[table]xcolor
providecommandparencite[1]# % dummy definition

usepackagetabularx,ragged2e
newcolumntypeL>RaggedRightarraybackslashhspace0ptX
newcolumntypeP[1]>RaggedRightp#1

usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage

hyphenationweb-views native-script % provide additional hyphenation exceptions

begindocument
begintable[ht]
setlengthextrarowheight2pt % for a more open "look"
rowcolors1gray!25white
setlengthtabcolsep5pt % default: 6pt

%centering % not needed
begintabularxtextwidth P20mm *4L
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic \
%hline
Wrapperslash Container & No & No & No & WebViews by Apache Cordova \
%hline
Other ways of accessing native APIs &
beginmylist
item Built-in classes
item Third-party plugins
endmylist &
beginmylist
item Built-in React APIs through JS
item Native modules
endmylist &
Plugins developed by NativeScript team through JS &
Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews \
%hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginmylist
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
endmylist &
Knowledge of usage of native APIs for each platform if plugins need to be developed
& Not direct access to native features of device because of WebViews \
hline % <-- new
endtabularx

captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite, FlutterFramework
labeltable:comparisonFrameworks

endtable
enddocument



Addendum to address the follow-up query posted by @pzorba75: The etoolbox provides the instructions BeforeBeginEnvironment and AfterEndEnvironment. These two instructions are used in the code shown above to "encase" each mylist environment in a minipage environment. The encasing automatically eliminates the whitespace that would otherwise be inserted before the first item and below the final item of the list. (If you don't use the minipage approach, you'd have to eliminate the whitespace manually, as is done in Zarko's parallel answer.)



The enumitem package actually provides the before=... and after=... options. Thus, one could replace



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet
usepackageetoolbox
BeforeBeginEnvironmentmylistbeginminipage[t]hsize
AfterEndEnvironmentmylistendminipage


with



usepackageenumitem
newlistmylistitemize1 % create a bespoke itemize-like list
setlist[mylist]leftmargin=*,nosep,label=textbullet,
before=beginminipage[t]hsize,
after=endminipage


The output is the same as above.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jun 17 at 13:49

























answered Jun 17 at 13:17









MicoMico

295k32 gold badges409 silver badges802 bronze badges




295k32 gold badges409 silver badges802 bronze badges












  • what does etoobox do in this document?

    – pzorba75
    Jun 17 at 13:34











  • @pzorba75 - Please see the addendum I posted to address your follow-up query.

    – Mico
    Jun 17 at 13:50

















  • what does etoobox do in this document?

    – pzorba75
    Jun 17 at 13:34











  • @pzorba75 - Please see the addendum I posted to address your follow-up query.

    – Mico
    Jun 17 at 13:50
















what does etoobox do in this document?

– pzorba75
Jun 17 at 13:34





what does etoobox do in this document?

– pzorba75
Jun 17 at 13:34













@pzorba75 - Please see the addendum I posted to address your follow-up query.

– Mico
Jun 17 at 13:50





@pzorba75 - Please see the addendum I posted to address your follow-up query.

– Mico
Jun 17 at 13:50











4














For example:



documentclass[a4paper]article
usepackage[english]babel

usepackage[svgnames,table]xcolor
usepackagetabularx
usepackageragged2e
usepackageenumitem
setlistnosep,noitemsep,topsep=0pt,leftmargin=1em
usepackagebiblatex
addbibresourcebiblatex-examples.bib
renewcommandtabularxcolumn[1]>RaggedRightp#1

begindocument

begintable[ht]
rowcolors1gray!25white
centering
begintabularxlinewidthXhline
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be
developed &
Not direct access to native features of device because of WebViews
\hline
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite,
FlutterFramework
labeltable:comparisonFrameworks
endtable

enddocument


enter image description here






share|improve this answer




















  • 2





    This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

    – Kathrine Hanson
    Jun 17 at 12:58







  • 1





    Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

    – Mico
    Jun 17 at 13:24






  • 1





    @KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

    – Mico
    Jun 17 at 13:53






  • 1





    The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

    – Mico
    Jun 17 at 13:55






  • 2





    @Mico I am now implementing your solutiona and table looks much better thanks!!!

    – Kathrine Hanson
    Jun 17 at 14:03















4














For example:



documentclass[a4paper]article
usepackage[english]babel

usepackage[svgnames,table]xcolor
usepackagetabularx
usepackageragged2e
usepackageenumitem
setlistnosep,noitemsep,topsep=0pt,leftmargin=1em
usepackagebiblatex
addbibresourcebiblatex-examples.bib
renewcommandtabularxcolumn[1]>RaggedRightp#1

begindocument

begintable[ht]
rowcolors1gray!25white
centering
begintabularxlinewidthXhline
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be
developed &
Not direct access to native features of device because of WebViews
\hline
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite,
FlutterFramework
labeltable:comparisonFrameworks
endtable

enddocument


enter image description here






share|improve this answer




















  • 2





    This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

    – Kathrine Hanson
    Jun 17 at 12:58







  • 1





    Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

    – Mico
    Jun 17 at 13:24






  • 1





    @KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

    – Mico
    Jun 17 at 13:53






  • 1





    The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

    – Mico
    Jun 17 at 13:55






  • 2





    @Mico I am now implementing your solutiona and table looks much better thanks!!!

    – Kathrine Hanson
    Jun 17 at 14:03













4












4








4







For example:



documentclass[a4paper]article
usepackage[english]babel

usepackage[svgnames,table]xcolor
usepackagetabularx
usepackageragged2e
usepackageenumitem
setlistnosep,noitemsep,topsep=0pt,leftmargin=1em
usepackagebiblatex
addbibresourcebiblatex-examples.bib
renewcommandtabularxcolumn[1]>RaggedRightp#1

begindocument

begintable[ht]
rowcolors1gray!25white
centering
begintabularxlinewidthXhline
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be
developed &
Not direct access to native features of device because of WebViews
\hline
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite,
FlutterFramework
labeltable:comparisonFrameworks
endtable

enddocument


enter image description here






share|improve this answer















For example:



documentclass[a4paper]article
usepackage[english]babel

usepackage[svgnames,table]xcolor
usepackagetabularx
usepackageragged2e
usepackageenumitem
setlistnosep,noitemsep,topsep=0pt,leftmargin=1em
usepackagebiblatex
addbibresourcebiblatex-examples.bib
renewcommandtabularxcolumn[1]>RaggedRightp#1

begindocument

begintable[ht]
rowcolors1gray!25white
centering
begintabularxlinewidthXhline
rowcolorgray!40
& Flutter & React Native & NativeScript & Ionic
\ hline
Wrapper/ Container & No & No & No & WebViews by Apache Cordova
\ hline
Other ways of accessing native APIs &
beginitemize
item Built-in classes
item Third- party plugins
enditemize
& beginitemize
item Built-in React APIs through JS
item Native modules
enditemize & Plugins developed by NativeScript team through JS
& Plugins are offered by Apache Cordova to access the native APIs of the device through WebViews
\ hline
Disadvantages & Not so many plugins in the ecosystem, so many need to be implemented &
beginitemize
item Core maintainers of modules may quit
item Knowledge of usage of native APIs for each platform
enditemize & Knowledge of usage of native APIs for each platform if plugins need to be
developed &
Not direct access to native features of device because of WebViews
\hline
endtabularx
captionShort comparison between the four cross platform mobile development frameworks.
parenciteReactNativeFramework, NativeScript, MobileChallenges2013, IonicWebsite,
FlutterFramework
labeltable:comparisonFrameworks
endtable

enddocument


enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Jun 17 at 14:26

























answered Jun 17 at 12:40









Red-CloudRed-Cloud

4,3032 silver badges17 bronze badges




4,3032 silver badges17 bronze badges







  • 2





    This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

    – Kathrine Hanson
    Jun 17 at 12:58







  • 1





    Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

    – Mico
    Jun 17 at 13:24






  • 1





    @KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

    – Mico
    Jun 17 at 13:53






  • 1





    The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

    – Mico
    Jun 17 at 13:55






  • 2





    @Mico I am now implementing your solutiona and table looks much better thanks!!!

    – Kathrine Hanson
    Jun 17 at 14:03












  • 2





    This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

    – Kathrine Hanson
    Jun 17 at 12:58







  • 1





    Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

    – Mico
    Jun 17 at 13:24






  • 1





    @KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

    – Mico
    Jun 17 at 13:53






  • 1





    The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

    – Mico
    Jun 17 at 13:55






  • 2





    @Mico I am now implementing your solutiona and table looks much better thanks!!!

    – Kathrine Hanson
    Jun 17 at 14:03







2




2





This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

– Kathrine Hanson
Jun 17 at 12:58






This solution is not good since it changes the whole document's orientation from portrait to landscape. Thanks for your post. Another solution?

– Kathrine Hanson
Jun 17 at 12:58





1




1





Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

– Mico
Jun 17 at 13:24





Full justification in narrow columns can create very large and unattractive inter-word gaps. You may want to switch to ragged-right.

– Mico
Jun 17 at 13:24




1




1





@KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

– Mico
Jun 17 at 13:53





@KathrineHanson - RedCloud's proposed doesn't employ landscape mode. However, it does widen the textblock considerably (via the use of the geometry package) considerably relative to the default of the article document class.

– Mico
Jun 17 at 13:53




1




1





The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

– Mico
Jun 17 at 13:55





The instruction setlistnosep,noitemsep,topsep=0pt,leftmargin=1em has global scope and affects not only itemize but also enumerate environments. Can you think of a way to keep the scope of the setlist instruction local to the table at hand?

– Mico
Jun 17 at 13:55




2




2





@Mico I am now implementing your solutiona and table looks much better thanks!!!

– Kathrine Hanson
Jun 17 at 14:03





@Mico I am now implementing your solutiona and table looks much better thanks!!!

– Kathrine Hanson
Jun 17 at 14:03

















draft saved

draft discarded
















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f496161%2fimprove-appearance-of-the-table-in-latex%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form