質問用フォーラムです。ご質問の前に質問のしかたをご覧ください。

\NewPageStyleによるthumb indexの作成について

- 北川 直樹 の投稿

latexで添付したテキストのようなpagestyleを作りたいと思い,jlreqの\NewPageStyleを用いて,以下のようにpagestyleをカスタマイズしていました。

\NewPageStyle{thumbindexstyle}{%
    running_head_position={top-right},
    odd_running_head={_section},
    even_running_head={_chapter},
    mark_format={
        _section={\S \thesection\hspace{1\zw}#1},
        _chapter={第\thechapter 回\hspace{1\zw}#1}
    },
    odd_head_format={
        #1\hspace{3\zw}
        \begin{tikzpicture}
            \useasboundingbox (0,0) rectangle (0,0) ;
            \node[anchor=south west] at(1\zw,-0.35\zw) {\thepage} ;
            \fill[black] (0,-0.2) -- (-0.35,-0.2) -- (-0.35,2) -- (0,2) -- cycle ;
            % ツメ(奇数ページ)
            \pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
            \let\modchapter=\pgfmathresult
            % \textheight の 1/12 を計算
            \pgfmathparse{1/12*\textheight}
            \let\calcheight=\pgfmathresult
            % \calcheight × \modchapter の座標を計算
            \pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
            \let\yt=\pgfmathresult
            % \calcheight × (\modchapter - 1) の座標を計算
            \pgfmathparse{\calcheight*\modchapter+\headsep}
            \let\yb=\pgfmathresult
            % 塗りつぶし
            \fill[black,rounded corners=5pt] (1,-\yt pt) -- (1,-\yb pt) -- (3,-\yb pt) -- (3,-\yt pt) -- cycle ;
        \end{tikzpicture}
    },
    even_head_format={
        \begin{tikzpicture}
            \useasboundingbox (0,0) rectangle (0,0) ;
            % ページ番号と見出しの境界線
            \node[anchor=south east] at(-1\zw,-0.35\zw) {\thepage} ;
            \fill[black] (0,-0.2) -- (0.35,-0.2) -- (0.35,2) -- (0,2) -- cycle ;
            % ツメ(偶数ページ)
            \pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
            \let\modchapter=\pgfmathresult
            % \textheight の 1/1 を計算
            \pgfmathparse{1/12*\textheight}
            \let\calcheight=\pgfmathresult
            % \calcheight × \modchapter の座標を計算
            \pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
            \let\yt=\pgfmathresult
            % \calcheight × (\modchapter - 1) の座標を計算
            \pgfmathparse{\calcheight*\modchapter+\headsep}
            \let\yb=\pgfmathresult
            % 塗りつぶし
            \fill[black,rounded corners=5pt] (-1,-\yt pt) -- (-1,-\yb pt) -- (-3,-\yb pt) -- (-3,-\yt pt) -- cycle ;
        \end{tikzpicture}
        \hspace{3\zw}#1
    }
}
 
ここで,ツメはchapterが変わるごとにその位置をリセットしていき,ツメ一つの大きさは\textheightの1/12の大きさになるようにし,また,chapterが13に達すると,ツメの位置がchapter 1のときの位置に戻り,以後繰り返していくようにしました。

このコードでコンパイルすると,chapter 1からchapter 12までは期待通りに出力されました。しかし,chapter 13とchapter 14のときのツメが同じ高さに出力されてしまいます。

modに原因があると思うのですが,回避方法を見出すことができなかったので,ここで質問させていただきます。つまり,chapter 13とchapter 14のときのツメの位置がchapter 1とchapter 2のそれと同じようになる方法をお教えいただきたいです。

以下にコード全体を示しておきます。Lualatex+jlreqです。よろしくお願いします。

\documentclass[book,twoside]{jlreq}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,shadows}
\usetikzlibrary{bending,decorations.shapes}
\usetikzlibrary{intersections,calc,through,automata}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{cd}
\usepackage{pgfmath}
\usepackage{color}
\usepackage[top=20truemm,inner=20truemm,outer=18truemm,bottom=8truemm]{geometry}
\usepackage{lipsum}
\NewPageStyle{thumbindexstyle}{%
    running_head_position={top-right},
    odd_running_head={_section},
    even_running_head={_chapter},
    mark_format={
        _section={\S \thesection\hspace{1\zw}#1},
        _chapter={第\thechapter 回\hspace{1\zw}#1}
    },
    odd_head_format={
        #1\hspace{3\zw}
        \begin{tikzpicture}
            \useasboundingbox (0,0) rectangle (0,0) ;
            \node[anchor=south west] at(1\zw,-0.35\zw) {\thepage} ;
            \fill[black] (0,-0.2) -- (-0.35,-0.2) -- (-0.35,2) -- (0,2) -- cycle ;
            % ツメ(奇数ページ)
            \pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
            \let\modchapter=\pgfmathresult
            % \textheight の 1/12 を計算
            \pgfmathparse{1/12*\textheight}
            \let\calcheight=\pgfmathresult
            % \calcheight × \modchapter の座標を計算
            \pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
            \let\yt=\pgfmathresult
            % \calcheight × (\modchapter - 1) の座標を計算
            \pgfmathparse{\calcheight*\modchapter+\headsep}
            \let\yb=\pgfmathresult
            % 塗りつぶし
            \fill[black,rounded corners=5pt] (1,-\yt pt) -- (1,-\yb pt) -- (3,-\yb pt) -- (3,-\yt pt) -- cycle ;
        \end{tikzpicture}
    },
    even_head_format={
        \begin{tikzpicture}[remember picture]
            \useasboundingbox (0,0) rectangle (0,0) ;
            % ページ番号と見出しの境界線
            \node[anchor=south east] at(-1\zw,-0.35\zw) {\thepage} ;
            \fill[black] (0,-0.2) -- (0.35,-0.2) -- (0.35,2) -- (0,2) -- cycle ;
            % ツメ(偶数ページ)
            \pgfmathparse{mod(\thechapter,13) == 0 ? 1 : mod(\thechapter, 13)}
            \let\modchapter=\pgfmathresult
            % \textheight の 1/1 を計算
            \pgfmathparse{1/12*\textheight}
            \let\calcheight=\pgfmathresult
            % \calcheight × \modchapter の座標を計算
            \pgfmathparse{\calcheight*(\modchapter-1)+\headsep}
            \let\yt=\pgfmathresult
            % \calcheight × (\modchapter - 1) の座標を計算
            \pgfmathparse{\calcheight*\modchapter+\headsep}
            \let\yb=\pgfmathresult
            % 塗りつぶし
            \fill[black,rounded corners=5pt] (-1,-\yt pt) -- (-1,-\yb pt) -- (-3,-\yb pt) -- (-3,-\yt pt) -- cycle ;
        \end{tikzpicture}
        \hspace{3\zw}#1
    }
}
\pagestyle{thumbindexstyle}

\begin{document}

\title{thumb index pagestyle}
\author{※ 偶数ページ・奇数ページ確認用タイトル}
\maketitle

\foreach \c in {1,...,24} {
    \chapter{Chapter \c}
   
    \section{Section 1}
    \lipsum[1-3]
   
    \section{Section 2}
    \lipsum[4-6]
   
    \section{Section 3}
    \lipsum[7-9]

    \section{Section 4}
    \lipsum[10-12]
}

\end{document}
添付 参考テキスト.JPG

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

- n k の投稿

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

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

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

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

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

- t bz の投稿

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

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

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

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

目次を分ける

- 三星 聯 の投稿

lualatex+jlreqでbookオプションの文書を作成しております。

第一部と第二部に分け、第二部の目次を第一部のあと第二部の前に挿入したいのですが、方法はありますか?

化学反応式とceo.sty

- takamasa 23 の投稿
\documentclass[dvipdfmx]{jlreq}
\usepackage[version=3]{mhchem}
\usepackage{chemfig}
\usepackage{ceo}
\begin{document}
  \ce{H2O + Br2 <=> HBr + HBrO}

  \ce{2H2O + 2e- -> H2 + 2OH-}
\end{document}

ceo.styを利用した状態で, 上のようにして化学反応式を出力すると, 両側矢印の表示がおかしいことに加え, 電子の「\( e^{-} \)」のマイナスが2つに分かれてしまうのですが, ceo.styを宣言した状態で正常な表示をすることはできないのでしょうか?

※コンパイラー:upLaTeX

添付 IMG_1154.jpeg

A4 以外のサイズが文書クラスのオプションから指定できない?

- ya ra の投稿

環境

  • Windows 11
  • TeX Live 2024(最終更新:2024/08/03)

LaTeX は pdfLaTeX、(u)pLaTeX+dvipdfmx、LuaLaTeX、XeLaTeX のいずれを用いても現象は再現されます。

久しぶりに A4 以外のペーパーサイズを指定したため、いつから上手く出力されないのかは不明です。

再現

a5paper を指定しているにも拘わらず、A4 サイズで出力されます。

\documentclass[a5paper]{article}
%% \usepackage[a5paper]{geometry}
\begin{document}

Hello, \LaTeX!!

\end{document}

geometry パッケージからペーパーサイズを指定すると、正しいサイズの PDF が出力されます。

原因や解消方法はありますでしょうか。


添付の Zip には pdfLaTeX で出力した場合の TeX ファイルと生成されたファイルがあります。

TeX Live Shellの起動時のエラーについて

- 増 龍 の投稿

はじめて投稿させていただきます。よろしくお願いいたします。

こちらのOSはwindows8.1で、TeXlive2024をインストールしました。

そのときは、TeX Live shellが起動しました。

https://contrib.texlive.info/

のページに従って、tlcontribをインストールすると、次のようなエラーが出て、TeX Live shellが起動しなくなりました。

bad window path name ".toprepo.uhttps://mirror.ctan" while executing
"ttk::label $w.u$nm -text $::repos($nm)-justify left" (procedure "show_repos" line 53)
invoked from within
"show_repos"
(procedure "display_all_data" line 9)
invoked from within
"display_all_data"
(procedure "initialize" line 97)
invoked from within
"initialize"
(file "C:\texlive¥2024¥texmf-dist\scripts\tlshell¥tlshell.tcl"
line 3131)

ちなみに、TeX文書の作成もできますし、「tlmgr info --only-installed」などのコマンドも反応します。

エラーを解消して、TeX Live shellを起動できるといいのですが、対応方法を考えていただけると助かります。

よろしくお願いいたします。

エラーメッセージの画像

コンパイルエラー"\begin{document}"の改善方法について

- しょうない がーーーる の投稿

当方,pdfの挿入やtikzを使い,Texで長めの文書作成をしています.

昨日より急に,以下のコンパイルエラーが起こりました.

Runaway argument?
{\contentsline {figure}{\numberline {13}{\ignorespaces XXX\ETC.
./XXX.tex:19: File ended while scanning use of \@w
ritefile.
<inserted text> 
                \par 
l.19 \begin{document}
                     

上文におけるXXXは文章,およびファイル名です.(伏せてあります)

私もこのエラーについて調べたところ,.auxファイルの削除でコンパイルできるようになるとの情報を得て,実際に試したところ確かに上手くいきました.

が,困ったのはここからで,普通にコードを間違えたり,ミスをしてコンパイルエラーがでたあと,そこを改善しても毎回上記の"\begin{document}"のエラーが出てしまいます.これが出るたびに一度文章を保存して,.auxファイルを消して,またファイルを開く,という面倒な仕様になっています.つまり,

コードミスや打ち間違えによるエラー→コードの修正→”\begin{documetn}のエラー”→.auxファイルの削除→ファイルを開き直してコンパイル成功→コードミス→...

という流れです.特にtikzで色々試行錯誤しながらやっている部分も多いため,毎回ミスがあるたびにこの手間を踏むのはかなり面倒なのです.

そもそも,なぜ急に"\begin{documetn}"のエラーが出たのかが分かりません.改善策を知っている人がいらっしゃったら,教えていただきたいです.よろしくお願いします.

使用マシン Macbook air M1

OS MacOS sonoma 14.5

Texshop ver5.36

目次からのリンク機能の不具合について

- t bz の投稿

目次から各セクションへのリンク機能を実装しましたが、セクション番号をリセットした際に、リセット後のセクション番号ではなく、リセット前の番号に誤ってジャンプしてしまう問題が生じています。
この問題に対する効果的な対処法をご教示いただけますでしょうか。


\documentclass[a4paper,10pt]{jsarticle}

\usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true,colorlinks=true,linkcolor=blue,citecolor=blue,filecolor=blue,pagecolor=blue,urlcolor=blue]{hyperref}

\begin{document}
\tableofcontents
\section{あ}

\newpage
\section{い}

\newpage
\setcounter{section}{0}
\section{う}

\newpage
\section{え}
\end{document}

作業したページを表示しない

- serge maumary の投稿

winshellを使って数式を作成、latex→DVI‐view

テキスト表示されますが作業した箇所のページが表示されず1ページ目に戻ってしまいます。

解決策おわかりの方よろしくお願い致します。