Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Export qualitative tables with long strings to latex

    For organizational purposes, I'm creating a do-file that generates all the tables for my thesis, including those that are "qualitative", not directly using the data. I have the dta below and would like to export it to a tabular in .tex format. As you can see, the strings are quite long. Is there any command or package that can help with this (like estadd for regressions)? Maybe something that inserts line breaks automatically? I tried using list, but because the strings are long, the output isn't a proper table format.


    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input str25 category1 str100(quote1 quote2)
    "Coping Mechanism"       "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore " "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo con"
    "Relative/Depends"       "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatu" "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id es"
    "Everybody Has Feelings" "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium."    "Totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dict"
    "Form of Expression"     "Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur ma" "Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit."       
    "Grieving"               "Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut al" "Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatu"
    "Happy Crying"           "Vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"                                        "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum del"
    "Love Relationships"     "Similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga."         "Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est e"
    "Societal/Family Values" "Omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis de" "Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias con"
    "Strength"               "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore " ""                                                                                                    
    end

  • #2
    Code:
    ssc install texsave, replace
    help texsave

    Comment


    • #3
      Thank you! It's working well for the line breaks. If you could help me with one more detail. How can I manually modify the width of each column? I saw the `colwidth` command in the help file, but I coudn't to make it work. For example, 1cm for the first column, 5cm for the second, 4cm for the third (I’m not sure what sizes would work yet).

      `dataex` didn’t allow me to include the dataset as it is due to the character limit. Actually, it’s like the dataset below but doubled, totaling 6 columns. I’m also including my code to generate the table.

      Code:
      clear
      input str25 category1 str200 quote1 int freq1
      "Coping Mechanism"       "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore " 2
      "Relative/Depends"       "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatu" 3
      "Everybody Has Feelings" "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium."    4
      "Form of Expression"     "Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur ma" 11
      "Grieving"               "Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut al" 22
      "Happy Crying"           "Vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"                                        3
      "Love Relationships"     "Similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga."         5
      "Societal/Family Values" "Omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis de" 6
      "Strength"               "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore " .                                                                                                   
      end
      
      label var category1 "Category"
      label var quote1 "Quote"
      label var freq1 "Frequency"
      label var category2 "Category"
      label var quote2 "Quote"
      label var freq2 "Frequency"
      
      local headerlines "\multicolumn{3}{c}{Big header 1} & \multicolumn{3}{c}{Big header 2} " "\cmidrule(lr){1-3} \cmidrule(lr){4-6}"
      texsave using "path.tex", replace varlabels frag headerlines("`headerlines'") align(LLLLLL) rowsep(0.3cm)

      Comment


      • #4
        To create a table with varying column widths, you can use the regular tabular environment instead of the tabularx package, and set specific widths using p{<width>} for each column. The easiest way is to use filefilter to do this replacement, specifying the column widths. Below you have 3 columns and the code for specifying widths is highlighted.

        Code:
        * Example generated by -dataex-. For more info, type help dataex
        clear
        input str25 category1 str200 quote1 int freq1
        "Coping Mechanism"       "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore "  2
        "Relative/Depends"       "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatu"  3
        "Everybody Has Feelings" "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium."     4
        "Form of Expression"     "Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur ma" 11
        "Grieving"               "Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut al" 22
        "Happy Crying"           "Vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"                                         3
        "Love Relationships"     "Similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga."          5
        "Societal/Family Values" "Omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis de"  6
        "Strength"               "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore "  .
        end
        label var category1 "Category"
        label var quote1 "Quote"
        label var freq1 "Frequency"
        
        texsave using myfile.tex, replace varlabels
        *COLWIDTHS 3CM, 7CM, 2CM FOR COL1, COL2 & COL3, RESPECTIVELY
        filefilter "myfile.tex" "holding.tex", from("\BSbegin{tabularx}{\BSlinewidth}{@{}lCC@{}}") ///
        to("\BSbegin{tabular}{@{}p{3cm}p{7cm}p{2cm}@{}}") replace
        filefilter "holding.tex" "myfile.tex", from("\BSend{tabularx}") to("\BSend{tabular}") replace
        Res.:
        Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	116.2 KB
ID:	1762859

        Comment

        Working...
        X