
次のコードがあります:
\begin{landscape}
\setlength\tabcolsep{3pt}
\begin{longtable}{m{0.5cm}|m{3cm}|m{3cm}|m{3cm}|m{9cm}}
\hline
\textbf{C1}&\textbf{Col2}&\textbf{Col3}&\textbf{Col4}&\textbf{Col5}\\
\hline
\endfirsthead
\endfoot
1&Self-report&-&D\_alcohol\_consumption&\\\hline
2&Self-report&-&Trastorno del pensamiento controlado&\\\hline
3&Self-report&-&D-alcohol-consumption&\\\hline
\end{longtable}
\end{landscape}
この表を作成します
列「Col4」に非常に長い変数名を入力する必要があり、その多くには最初の行のようにアンダースコアが含まれています。しかし、セルに収まらず、「Col5」まで伸びてしまいます。2 行目のように自動的に改行されることを期待しています。
これはアンダースコアに関連するものだと思います。3 行目でアンダースコアをハイフンに置き換えましたが、予想どおりの結果になりました。ただし、アンダースコアを使用する必要があります。
アンダースコアを残すための提案はありますか?
答え1
基本的に、そしておそらく驚くことではないが、これまで誰もLaTeXに「単語」をハイフンでつなぐ方法を教えてくれなかった。
D\_alcohol\_consumption
幸いなことに、LaTeXに部分文字列をconsumption
個別の単語として扱うように指示する簡単な方法があります。D\_alcohol\_consumption
D\_alcohol\_\hspace{0pt}consumption
別途コメント: デフォルトでは、LaTeXは1つ以上のハイフン文字を含む単語をハイフンで区切らない。複合ハイフン語内の-
単語をLaTeXでハイフンで区切るようにしたい場合は、次のように書き直すだけでよい。consumption
D-alcohol-consumption
D-alcohol-\hspace{0pt}consumption
最終コメント: 一部の列が狭いことを考慮して、これらの列には完全な両端揃え (デフォルト) ではなく、右寄せのレイアウトを使用しますが、必要に応じてハイフネーションを許可します。これは、列指定子の前に を付けることで自動的に実現できます。>{\RaggedRight}
この考え方を実装する方法については、以下のコードを参照してください。(実際にハイフネーションを抑制したい場合は、>{\RaggedRight}
を に置き換えます>{\raggedright\arraybackslash}
。
\documentclass{article}
\usepackage{array}
\usepackage{ragged2e} % for '\RaggedRight' macro
\begin{document}
\begin{tabular}{@{} >{\RaggedRight}p{3.1cm} @{}}
\hline
D\_alcohol\_\hspace{0pt}consumption \\ \hline
D-alcohol-consumption \\ \hline
D-alcohol-\hspace{0pt}consumption \\ \hline
\end{tabular}
\end{document}
答え2
hyphenatパッケージを使って理解しました
\usepackage{hyphenat}
\begin{landscape}
\setlength\tabcolsep{3pt}
\begin{longtable}{m{0.5cm}|m{3cm}|m{3cm}|m{3cm}|m{9cm}}
\hline
\textbf{C1}&\textbf{Col2}&\textbf{Col3}&\textbf{Col4}&\textbf{Col5}\\
\hline
\endfirsthead
\endfoot
1&Self-report&-&D\_alcohol\_consumption&\\\hline
2&Self-report&-&Trastorno del pensamiento controlado&\\\hline
3&Self-report&-&D-alcohol-consumption&\\\hline
\end{longtable}
\end{landscape}