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;
I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?
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
add a comment |
I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?
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
never use vertical separators.
– gented
Jun 18 at 14:40
add a comment |
I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?
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
I created a table in Latex to show some comparison data about some frameworks.
How can I improve its appearance?
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
tables tabularx itemize
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
add a comment |
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
add a comment |
3 Answers
3
active
oldest
votes
I would rather have table with following design:
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 ofRaggedRight
fromragged2e
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 usedenumitem
package which enable simple customizing of lists. Withetoolbox
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 byaddlinspace
- 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:
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 thegeometry
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
add a comment |
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.
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.
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
add a comment |
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
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 thegeometry
package) considerably relative to the default of thearticle
document class.
– Mico
Jun 17 at 13:53
1
The instructionsetlistnosep,noitemsep,topsep=0pt,leftmargin=1em
has global scope and affects not onlyitemize
but alsoenumerate
environments. Can you think of a way to keep the scope of thesetlist
instruction local to thetable
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
|
show 4 more comments
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
I would rather have table with following design:
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 ofRaggedRight
fromragged2e
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 usedenumitem
package which enable simple customizing of lists. Withetoolbox
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 byaddlinspace
- 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:
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 thegeometry
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
add a comment |
I would rather have table with following design:
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 ofRaggedRight
fromragged2e
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 usedenumitem
package which enable simple customizing of lists. Withetoolbox
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 byaddlinspace
- 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:
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 thegeometry
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
add a comment |
I would rather have table with following design:
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 ofRaggedRight
fromragged2e
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 usedenumitem
package which enable simple customizing of lists. Withetoolbox
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 byaddlinspace
- 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:
I would rather have table with following design:
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 ofRaggedRight
fromragged2e
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 usedenumitem
package which enable simple customizing of lists. Withetoolbox
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 byaddlinspace
- 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:
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 thegeometry
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
add a comment |
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 thegeometry
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
add a comment |
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.
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.
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
add a comment |
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.
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.
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
add a comment |
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.
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.
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.
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.
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
add a comment |
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
add a comment |
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
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 thegeometry
package) considerably relative to the default of thearticle
document class.
– Mico
Jun 17 at 13:53
1
The instructionsetlistnosep,noitemsep,topsep=0pt,leftmargin=1em
has global scope and affects not onlyitemize
but alsoenumerate
environments. Can you think of a way to keep the scope of thesetlist
instruction local to thetable
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
|
show 4 more comments
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
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 thegeometry
package) considerably relative to the default of thearticle
document class.
– Mico
Jun 17 at 13:53
1
The instructionsetlistnosep,noitemsep,topsep=0pt,leftmargin=1em
has global scope and affects not onlyitemize
but alsoenumerate
environments. Can you think of a way to keep the scope of thesetlist
instruction local to thetable
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
|
show 4 more comments
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
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
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 thegeometry
package) considerably relative to the default of thearticle
document class.
– Mico
Jun 17 at 13:53
1
The instructionsetlistnosep,noitemsep,topsep=0pt,leftmargin=1em
has global scope and affects not onlyitemize
but alsoenumerate
environments. Can you think of a way to keep the scope of thesetlist
instruction local to thetable
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
|
show 4 more comments
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 thegeometry
package) considerably relative to the default of thearticle
document class.
– Mico
Jun 17 at 13:53
1
The instructionsetlistnosep,noitemsep,topsep=0pt,leftmargin=1em
has global scope and affects not onlyitemize
but alsoenumerate
environments. Can you think of a way to keep the scope of thesetlist
instruction local to thetable
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
|
show 4 more comments
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
never use vertical separators.
– gented
Jun 18 at 14:40