出来ないと思いますが…2点お伺い致します

出来ないと思いますが…2点お伺い致します

- n k の投稿
返信数: 7

いつもお世話になっております。

以下の2点、TeXでやるのは多分無理だとは思いますが、もし私が知らないだけで実は出来たら…と思って、お伺いさせて下さい。

  1. 例えば3行の表があって、1行目から文を書いていって、1行目がいっぱいになったら、自動で2行目に行く、みたいな機能を実装することは出来ますか?
  2. 画像を貼るときに、パソコン内の画像ファイルへのパスを書いて貼りますが(同じフォルダ内ならファイル名だけですが)、例えばネットの画像のURLを貼って、そこから画像を取得して出力する、みたいなことは出来ちゃったりしないでしょうか。

以上2点、もしこのようなことが出来たりするのであれば教えて下さい。「無理に決まってんだろ!」と仰られること承知の上でお伺いさせて頂きました。
よろしくお願い致します。

n k への返信

Re: 出来ないと思いますが…2点お伺い致します

- 前田 一貴 の投稿

2点目についてだけですが,Stack Exchange に同様の質問があります

  • \write18 で wget や curl を実行して画像をダウンロードし,それを取り込む.
  • robust-externalize パッケージを読み込むと \includegraphicsWeb で可能.

どちらも -shell-escape が必要なことと,画像の著作権(ライセンス)には注意が必要です.

n k への返信

Re: 出来ないと思いますが…2点お伺い致します

- 帯田 木偶太 の投稿
1 点目について、どういう処理をご希望なのか今ひとつイメージできないのですが、
次のようなものでしょうか?

---------------------------------------

\documentclass{jarticle}\relax
\usepackage{tabularx}\relax
\begin{document}

\begin{tabularx}{.75\textwidth}{@{}l|X|}%
    \hline
    \begin{tabular}[t]{|l|l|l}%
        abc &  de  &  f\\
        \hline
        x  &  y  &  z\\
        \hline
        12  &  345 &  6789%
    \end{tabular}%
    \kern -\tabcolsep
    &  いろはにほへとちりぬるをわかよたれそつねならむ\\
    \hline
\end{tabularx}
\end{document}
帯田 木偶太 への返信

Re: 出来ないと思いますが…2点お伺い致します

- 和田 勇 の投稿
私もどのような結果をお望みなのか不明ですが muticols を使って考えてみました。
また 表 に組み込む場合は tabularray のカラム幅を比率で配分し multicolumn 部分を minipage 環境に押し込んでみました。


和田 勇 への返信

Re: 出来ないと思いますが…2点お伺い致します

- n k の投稿
返信が遅れすみません。お三方、ご回答ありがとうございます。

2点目については、TeXが基本的にオフラインで完結しているものであることから、やはり外界と繋げるための技術が必要ということですね。URL書くだけで簡単に…なんてのは普通に考えて無理でした。

1点目については私の説明不足で上手く伝わらずすみません。

\begin{tblr}{width={\linewidth},colspec={X},hline{1-Z}={0.5mm},vline{1,Z}={0.5mm}}
\\
\\
\\
\\
\end{tblr}

これで4行で幅は紙の横幅いっぱいの表ができますが、例えば

\begin{tblr}{width={\linewidth},colspec={X},hline{1-Z}={0.5mm},vline{1,Z}={0.5mm}}
あああああああああああああああああ・・・・・・・・・・・・・  \\
\\
\\
\\
\end{tblr}

として1行目がいっぱいになった時に、自動的に2行目に

──────────────────────────────────
あああああああああああ・・・・・・・
──────────────────────────────────
ああああ


と行くように出来たりしないかな、という意味でした。これは無理ですよね…?
n k への返信

Re: 出来ないと思いますが…2点お伺い致します

- 和田 勇 の投稿

「3行の表」を「三カラムの表」と読み違えていましたことをお詫びいたします。

あまり、期待されていないのでアイデアだけです。

四行程度ですので、ページ跨りは対象外とします。

横罫線が必要なようなので tikz とかで必要な横罫線罫線を描いておき、 そこに miniipage 環境のものを put すれば、見かけ上はできるかと思います。

横罫線が必要なければ、minipage 環境で四行分の高さを指定すれば良いと思います。

和田 勇 への返信

Re: 出来ないと思いますが…2点お伺い致します

- 和田 勇 の投稿
ちょっと書いてみました。
縦罫線と文字の間隔が今ひとつなのが気になりますが ...
まぁ試してみた限り縦罫線無しでもいいかなと思います。
和田 勇 への返信

Re: 出来ないと思いますが…2点お伺い致します

- 帯田 木偶太 の投稿
こんなんどうでしょう

(行送り方向の位置の揃え方がアレだけど…)


========================================================================


\documentclass{article}\relax
\makeatletter
\newenvironment*{ParTabular}[2]{%
    \makebox[0pt][l]{%
        \begin{tabular}[t]{|l|}%
            \hline
            \def\reserved@a{\makebox[#1]{}}%
            \count@=#2\relax
            \@whilenum \count@>\z@ \do{%
                \expandafter\def\expandafter\reserved@a\expandafter{%
                    \reserved@a\\\hline
                }%
                \advance\count@ by\m@ne
            }%
            \reserved@a
        \end{tabular}%
    }%
    \begin{tabular}[t]{|p{#1}|}%
        \hline
        \advance\baselineskip by\arrayrulewidth\relax
}{\end{tabular}}

%  USAGE
%      \begin{ParTabular}{DIMEN}{NUM}
%          TEXT
%      \end{ParTabular}
%      DIMEN:  テキスト部分の行長(表の幅ではない)
%      NUM:    表の行数
%      TEXT:  表中に出力するテキスト

\begin{document}
1行に収まってしまうテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

2行に亘るテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

3行に亘るテキストの場合

\begin{ParTabular}{25zw}{3}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

表の行数を4にすると

\begin{ParTabular}{25zw}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
\end{ParTabular}

\bigskip

そして4行目までテキストで埋めると

\begin{ParTabular}{25zw}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

幅を文字数でなく、外部の行長を基準に決めてみる

\begin{ParTabular}{,75\linewidth}{4}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

表の行数を長くしてみる、ついでにテキスト中で段落をかえる\nopagebreak

\begin{ParTabular}{.75\linewidth}{12}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
   
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}

\bigskip

テキストが長すぎると無様

\begin{ParTabular}{.75\linewidth}{8}
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
    いろはにほへとちりぬるをわかよたれそつねならむ
    うゐのおくやまけふこえてあさきゆめみしゑひもせすん
\end{ParTabular}
\end{document}