文字を特定の記号で囲む方法について

文字を特定の記号で囲む方法について

- t bz の投稿
返信数: 2

文章中の接続詞を、その役割に応じて特定の記号で囲むことで、文章構造を視覚的に理解しやすくする内容の文章をTeXで作成しようとしています。

(横書きの文章を想定しています)

具体的には次の通りです:
1.対比関係の接続詞(例:「しかし」「だが」)を両矢印⇔で囲む
2.因果関係(原因→結果)の接続詞(例:「したがって」「そのため」)を右向き三角▷で囲む
3.因果関係(結果→原因)の接続詞(例:「なぜならば」「というのも」)を左向き三角◁で囲む

上記の要件を満たす効果的なTeXの実装方法はございますでしょうか?
TikZ、pifont+stackengine、bbdingパッケージを使用する方法などを試しましたが、うまく動作しませんでした。
パッケージの推奨や、カスタムコマンドの作成方法など、具体的なアドバイスをいただけますと幸いです。

t bz への返信

Re: 文字を特定の記号で囲む方法について

- takamasa 23 の投稿

upLaTeX・tcolorboxで作ってみたのですが, いかがでしょうか。(※三角囲みについては少しアレンジしてしまいましたが…)

※LuaLaTeXでは横組だけでなく縦組にも対応(CloudLaTeXで確認)。

\documentclass[dvipdfmx]{jlreq}
\usepackage{tikz,tcolorbox,varwidth,multicol}
\usetikzlibrary{calc}
\tcbuselibrary{xparse,hooks,skins,breakable}
\tcbset{tcbox raise base}
\DeclareTCBox{\対比}{}{
enhanced,colback=white,colframe=white,nobeforeafter,
top=0mm,bottom=0mm,right=0mm,left=0mm,
underlay={
\path[fill=lightgray!50,draw=black]([xshift=2mm]frame.north west)--([xshift=2mm,yshift=-1.5mm]frame.north west)--([xshift=-2mm,yshift=-1.5mm]frame.north east)--([xshift=-2mm]frame.north east)--($(frame.north east)!0.5!(frame.south east)$)--([xshift=-2mm]frame.south east)--([xshift=-2mm,yshift=1.5mm]frame.south east)--([xshift=2mm,yshift=1.5mm]frame.south west)--([xshift=2mm]frame.south west)--($(frame.north west)!0.5!(frame.south west)$)--cycle;
}
}

\DeclareTCBox{\原因}{}{
enhanced,colback=white,colframe=white,nobeforeafter,
top=-1mm,bottom=-1mm,right=-0.5mm,left=-1mm,
underlay={
\path[fill=lightgray!50,draw=black](frame.north west)--([xshift=-2mm]frame.north east)--($(frame.north east)!0.5!(frame.south east)$)--([xshift=-2mm]frame.south east)--(frame.south west)--cycle;
}
}
\DeclareTCBox{\結果}{}{
enhanced,colback=white,colframe=white,nobeforeafter,
top=-1mm,bottom=-1mm,right=-1mm,left=-0.5mm,
underlay={
\path[fill=lightgray!50,draw=black](frame.north east)--([xshift=2mm]frame.north west)--($(frame.north west)!0.5!(frame.south west)$)--([xshift=2mm]frame.south west)--(frame.south east)--cycle;
}
}
\begin{document}
  \対比{しかし}・\原因{したがって}・\結果{なぜならば}
\end{document}
添付 IMG_1167.jpeg
takamasa 23 への返信

Re: 文字を特定の記号で囲む方法について

- t bz の投稿

ご教示ありがとうございました。
求めていた出力が得られました。
自分では思いつかない方法だったので感服しております。
この度はお世話になりました